3

プレイによって自動的に作成されたセッションとは別に、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();

大変助かりました。

4

0 に答える 0