私は、より複雑な保存ロジックを使用してからSpringデータを保持できるようにしたいと考えています。Springデータを使用してデータを事前入力
私はこのJpaRepositoryを持っている:
public interface MyClassRepository extends JpaRepository<MyClass, Long> {
@Query("from com.package.MyClass as myClass where myClass.parent is null");
MyClass getRootMyClass();
...
}
と、このエンティティ:
@Entity
@Table("MY_CLASS")
public class MyClass {
@ManyToOne
@JoinColumn("parent_id")
MyClass parent;
}
私はルートのMyClassを設定し、親の属性とTHNにnullのチェックを行うことができるようにしたいのですがリポジトリに保存します。例えば、このようなものは:
if(myClass.getParent() == null) {
myClass.setParent(getRootMyClass());
}
私はそれがリポジトリを認識していないなどのエンティティで@PrePersist
フックを使用してそれを行うことはできません。私はリポジトリではできません。クラスではなくインターフェイスなのでです。これを置くのに最適な場所はどこですか?
ur repoでオブジェクトを保存する前に 'if(parent!= null)'をチェックしたいのですか? – Salman
"root myClassを設定する"とはどういう意味ですか? getRootMyClass()を実行した後、親属性を設定して戻り値を保存していますか? – pvpkiran