Hibernate Search 4线程未终止

时间:2012-09-21 05:32:21

标签: hibernate hibernate-search

我已经使用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();

1 个答案:

答案 0 :(得分:1)

需要关闭Hibernate SessionFactory。

HibernateUtil.getSf().close();

当不使用Hibernate Search时,您可能没有注意到这个要求,因为ORM没有运行任何后台线程,但这始终是确保所有内容都有序清理的要求。