0

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

1 回答 1

1

Hibernate SessionFactory 需要关闭。

HibernateUtil.getSf().close();

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

于 2012-10-03T22:51:14.453 回答