1つの列をnullに更新しようとしていますが、エラーが発生します。私はこれを変数にデータを取り込んでからリセットしました。しかし、なぜこれが機能しなかったのか興味深いです:
@Modifying
@Query(value="UPDATE fact_header SET fact_id=null WHERE id=:ids", nativeQuery=true)
public void updateAssignedFact(@Param("ids") int id);
このエラーが発生します:
Caused by: javax.persistence.TransactionRequiredException: Executing an update/delete query
トランザクションに関するヒントを見ました。私は2つのデータベースを使用しています。
編集、このコードは機能しました:
@Modifying
@Transactional /* just added this line */
@Query(value="UPDATE fact_header SET fact_id=null WHERE id=:ids", nativeQuery=true)
public void updateAssignedFact(@Param("ids") int id);