我已经使用Hibernate Search 4编写了一个初级程序。每当我运行程序时,都会执行所需的事务(例如在数据库中保存记录),但程序不会终止。似乎一个线程在后台运行,但我无法弄清楚正在运行的线程或原因。
public static void main(String[] args) {
Session sess= HibernateUtil.getSf().getCurrentSession();
FullTextSession fts = org.hibernate.search.Search.getFullTextSession(sess);
Item it= new Item();
it.setTitle("Batman");
it.setDescription("bat man super hero ");
Item it2= new Item();
it2.setTitle("Mario");
it2.setDescription("super mario was game ");
Transaction t= fts.beginTransaction();
fts.save(it);
fts.save(it2);
t.commit();
答案 0 :(得分:1)
需要关闭Hibernate SessionFactory。
HibernateUtil.getSf().close();
当不使用Hibernate Search时,您可能没有注意到这个要求,因为ORM没有运行任何后台线程,但这始终是确保所有内容都有序清理的要求。