変更されていないエンティティがある場合、Hibernatesession.update(entity)
はSQLUPDATE
文をデータベースサーバに送信しますか?Hibernateは変更されていないエンティティを更新しますか?
たとえば、次のコードでは、HibernateはSQL UPDATE
をデータベースサーバーに送信しますか?
Session session = factory.openSession();
Person me = new Person(null, "Derek Mahar");
session.save(me);
Person me2 = new Person(me.getId(), "Derek Mahar");
session.update(me2);
session.flush();
これはクイズですか? – cherouvim
オブジェクトがまだセッションに接続されている場合でも更新は機能しますか? 'update()'のAPIは、永続インスタンスを指定されたdetachedインスタンスで更新することを示します。 – kraftan
クラフトン、私はあなたが正しいかもしれないと思います。ドキュメントによると、この例では例外がスローされます。この例を変更して、オリジナルと同じIDを持つデタッチされたインスタンスを更新します。 –