休止状態に問題があります。問題はデータベースに保存するときですが、この最後の挿入を見つけようとすると、他のデータを見つけたり消去したりするなど、データベースで何らかのアクションを行うまで見つかりません。
これが私が保存する方法です:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.saveOrUpdate(o);
session.saveOrUpdate(o1); // o and o1 are two differents objects
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
}
そして、これは私が挿入後にデータベースで見つけようとする方法です:
public List getUserNames(int startID, int endID) {
List<User> userList = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery("select u from User u ");
userList = (List<User>) q.list();
} catch (Exception e) {
e.printStackTrace();
}
return userList;
}
私は多くのことを試しましたが、saveOrUpdateを変更してマージするか、単に保存するなど、何も違いはありませんでしたが、このことを変更しても違いはありませんでした。助けてくれる人に感謝します。