1

エンティティを永続化している場合、エンティティSimpleJpaRepository#save()は変更されません。たとえば、エンティティの新しい ID は設定されません。

それとは別に、すべてが正常に機能します。エンティティは永続化され、ID が与えられています。データベースから読み取ると、IDが表示されます。これは正常な動作ですか?#save メソッドが永続化されたエンティティを返すことは知っていますが、指定されたエンティティを変更することをお勧めします。これを構成する方法はありますか?

ありがとう

- 編集

これが私がしていることだとしましょう:

User user = new User();
// do something with user

userRepository.save(user);

その後userはそのままです。オブジェクトデータベースに書き込まれますが、ユーザーは管理されません。またsaveAndFlush(user)、異なる動作にはなりません。私にできることはuser = userRepository.save(user)。この場合、ユーザーはマネージド インスタンスになります。しかし、Hibernate からは、オブジェクトを保存するだけで、送信されたオブジェクトは管理対象になります。JPAでこれをアーカイブする方法はありますか?

4

1 に答える 1

1

@Idエンティティの構成を確認してください。@GeneratedValue属性が正しく定義されていることを確認してくださいIdinsertこの属性は、とupdate操作を区別する上で重要な役割を果たします。

于 2012-10-22T16:04:12.193 に答える