当我将Hibernate的版本从3.6.8.final更新到4.0.0.final时,我收到了关于buildSessionFactory()此行中已弃用方法的警告:
private static final SessionFactory sessionFactory =
new Configuration().configure().buildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
javadoc建议使用另一种方法
buildSessionFactory(ServiceRegistry serviceRegistry)
但在文档中我发现了弃用的变体:(
你能帮我解决这个小小的误会吗?
我找到了这个很好的舍入解决方案:
static Double round(Double d, int precise) {
BigDecimal bigDecimal = new BigDecimal(d);
bigDecimal = bigDecimal.setScale(precise, RoundingMode.HALF_UP);
return bigDecimal.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)
但是,结果令人困惑:
System.out.println(round(2.655d,2)); // -> 2.65
System.out.println(round(1.655d,2)); // -> 1.66
Run Code Online (Sandbox Code Playgroud)
为什么要提供这个输出?我正在使用jre 1.7.0_45.
我尝试发送请求,如http://site.com/abc%2Fabc,但它不起作用(发送状态400).我如何理解tomcat出于安全原因不接受编码路径分隔符,但我不知道如何启用此编码.(我发现apache http服务器只有AllowEncodedSlashes选项).你能帮助我吗?
UPDATE
我使用微小的黑客修复了这个问题 - 在渲染之前替换'|'上的所有'/'字符 并在'/'后反转此字符
我想创建模块自动更新USB设备列表(不仅是大容量存储).现在它非常粗鲁 - 它有额外的线程,在1秒后更新设备列表.但也许您知道如何处理一些生成操作系统的插件事件(例如Windows XP及更高版本)或其他如何简化此过程的方法.感谢您的时间!
我尝试将BoneCP添加到休眠状态并具有:
java.lang.ClassNotFoundException: org.hibernate.connection.ConnectionProvider
Run Code Online (Sandbox Code Playgroud)
我在新的hibernate包中找不到这个接口,并且有2个问题:
1)你可以分享链接或示例如何使用hibernate 4.1手动配置BoneCP 0.7.1.*?(我只在hibernate.cfg.xml中添加了connection.provider_class = com.jolbox.bonecp.provider.BoneCPConnectionProvider)
2)有人测试了BoneCP 0.8.0-alpha1?它适用于新的hibarnate,但在版本中有可怕的"alpha1"
谢谢你的时间.
我尝试创建一个简单的类,可以像这样滑动JPanel:
+----------+ +------+---+ +----------+ | | | | | | | | JPanel1 | => | JPane| JP| => | JPanel2 | | | | | | | | +----------+ +------+---+ +----------+
我创建了javax.swing.Timer并在课堂上添加了
timer = new Timer(50, this);
timer.start();
static final int frames = 5;
int counter = 0;
actionPerformed(ActionEvent e) {
if (counter >= frames) {
timer.stop();
counter = 0;
} else {
counter++;
jPanel2.setBounds(800 - 800 * counter / frames, 0, 800, 600);
}
}
Run Code Online (Sandbox Code Playgroud)
这是工作,但非常缓慢.我只有2-3 fps,不知道如何加快这种方法.你能救我吗?
我需要得到活跃的wicket会话列表.现在我在覆盖方法newSession()中保存所有新会话,并且在会话失效时正在删除此会话.但是这种方法存在很多问题.我如何理解这种方法是非常粗鲁的黑客,如果你知道另一种方法,我将不胜感激.(我使用wicket v1.5.4和tomcat v7.0.25)
更新
感谢您的回答,但我需要获取WICKET会话列表(WebSession).我添加了HttpSessionListener和WebSessions和HttpSessions的静态映射(带同步).这种方式比我好,并且没有旧问题,但它看起来也像黑客:(.你对获取检票口会议列表有什么想法吗?
哪种方法更好?:
add(new Label("label", new PropertyModel<String>(cat, "name")));
Run Code Online (Sandbox Code Playgroud)
要么
add(new Label("label", cat.getName()));
Run Code Online (Sandbox Code Playgroud)
我试图找到有关比较的任何信息..但找不到任何东西我怎么理解第一种方法是读/写逻辑,第二种方法是只读逻辑,(如果我不对,请写我).但对于只读逻辑哪个更好?