我正在通過閱讀書籍和做例子來學習Hibernate。我正在看的例子上休眠HSQLDB兩會
http://www.java2s.com/Code/Java/Hibernate/UseTwoSessions.htm的網站。
這是一個有Java示例的知名站點。在這個例子中,它使用了我在它自己的JVM中運行的HSQLDB。出於某種原因,當使用第二個會話時,此示例似乎會掛起。所以問題是,這個例子有問題嗎?你可以讓一個人看看它,並確定它是否是一個有效的例子。
問題出在主要類中(請參閱下面的代碼)事件event2 =(Event)session2.load(Event.class,event.getId());此行掛起
感謝您的幫助。注意:如果這段代碼不好,請告訴www.java2s.com的人...如果它確實起作用,請告訴我我可能做錯了什麼..
我正在使用這個例子,並增加了連接數量和其他一系列變化。是否有一些變化可以使TwoSessions示例有效?
感謝您的幫助 理查德
公共靜態無效的主要(字串[] args){// HibernateUtil.setup(「創建表的活動(UID INT,VARCHAR名,START_DATE日期,持續時間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
}
好吧,看起來上面的代碼將無法正常工作。你需要創建一個事務,所以session.beginTransaction();和session.getTransaction()。commit();是必要的。如果您嘗試Hibernate示例,請查找此代碼。 – 2015-02-21 04:19:41