2016-08-13 3 views
0

私はJPAを初めて使用していますspringデータを作成する方法jpa save中にentityManager.persist(...)メソッドを呼び出すには?

レコードをデータベースに挿入したいのですが(挿入して更新しないでください)。

ただし、repository.save()メソッドを使用すると、レコードがすでに存在する場合はUpdateクエリとして機能します。

この場合にのみ挿入する方法(レコードが既に存在する場合は例外をスローする)?

How spring data JPA decides to call entityManager.persist(…) or entityManager.merge(…) method

答えて

0

リポジトリのexists()メソッドを使用して、レコードが存在しない場合にのみ、save()を呼び出すことができます。

+0

複合主キー(埋め込み型ID)を持つEntityクラスでexists()メソッドを使用するにはどうすればよいですか? – firstpostcommenter

+0

私はそれのために独自の@Queryを書く必要があると思います。 'SELECT COUNT'を使って、 'WHERE'部分のIDクラスのすべてのフィールドの等価性をチェックしてください。 – Arthur

関連する問題