我通过阅读书籍和做例子来学习Hibernate。我正在看
上的例子http://www.java2s.com/Code/Java/Hibernate/UseTwoSessions.htm网站。
这是一个众所周知的网站,有Java示例。在这个例子中,它使用了我在其自己的JVM中运行的HSQLDB。出于某种原因,当使用第二个会话时,此示例似乎挂起。所以问题是,这个例子有问题吗?你能让一个人看一下并确定它是否是一个有效的例子。
问题出在主类中(参见下面的代码)事件event2 =(Event)session2.load(Event.class,event.getId());这一行挂起
感谢您的帮助。注意:如果此代码不好,请告诉www.java2s.com上的人...如果它确实有效,请告诉我我可能做错了什么..
我正在使用此示例并增加了连接数和许多其他更改。是否有一些变化会使TwoSessions示例有效?
感谢您的帮助 理查德
public static void main(String [] args){ // HibernateUtil.setup(" create table EVENTS(uid int,name VARCHAR,start_Date date,duration int);");
// hibernate code start
HibernateFactory.buildSessionFactory();
Session session = HibernateFactory.openSession();
Session session2 = HibernateFactory.openSession();
Event event = new Event();
event.setName("Name");
session.save(event);
session.flush();
Event event2 = (Event) session2.load(Event.class, event.getId());
System.out.println(event2.getName());
HibernateUtil.checkData("select uid, name from events");
// hibernate code end
}
答案 0 :(得分:0)
代码可能是为具有有限交易功能的HSQLDB 1.8编写的。当前版本希望每个连接在数据库中的自己的线程中运行。使用两个单独的线程。