私はこのような機能を探していました。ブール値フィールドには、たとえば@ValidFlag
と注釈を付けることができます。エンティティのスプリングデータJPA有効フラグ
@Data
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseEntity implements Serializable {
@CreatedDate
Date creationDate;
@LastModifiedDate
Date updateDate;
@ValidFlag
Boolean isActive = Boolean.TRUE;
}
だから、例えば私は、このフィールドの値false
を持つエンティティを挿入すると、何もリポジトリ操作は、このエンティティを取得する必要があり得るん、それはダーティフラグとして、のように、しかしすることができます。この基本エンティティを拡張しているすべてのエンティティに対して、取得する操作ごとにこの追加の列チェックを非表示にするのは、とても良い方法です。
ネイティブにサポートされていない場合(そのように見えます)、Hibernate/JPAにロジックをカスタム追加することでこれを処理する方法を考えることができますか?
はあなたに@Whereを追加しました:そのことについて二つの大きな記事があり
あなたのBaseEntity? –
私はあなたがHibernate> 5.1を使用していると仮定します。この記事を慎重に読んでください:https://vladmihalcea.com/2017/03/08/the-best-way-to-soft-delete-with-hibernate/ EntityManger.findメソッドの@Loader –