プレイによって自動的に作成されたセッションとは別に、2 つ目のセッションを作成しています。フレームワークで、特定のオブジェクトの 1 つのフィールドだけを変更したい。なぜか続かない。同じセッションでオブジェクトを再度取得すると、フィールドが変更されますが、リクエスト後に元の値に戻ります。
ここにいくつかのコードがあります:
Session session = (Session) JPA.em().getDelegate();
Session s = session.getSessionFactory().openSession();
s.setFlushMode(FlushMode.ALWAYS); //been playing around with these
Transaction t = s.beginTransaction();
// Get Object
org.hibernate.Query query = s.createQuery("SELECT c From Course c WHERE c.id=:id").setLong("id", 100);
List<Course> courses = query.list();
Course course = courses.get(0);
course.title = "test";
// s.save(course);
// s.update(course); Tried all of them
// s.persist(course);
s.saveOrUpdate(course);
// s.flush();
t.commit();
s.flush();
大変助かりました。