アプリケーションにSpringとHibernateを使用しています。
フィールド isActive=false を設定する必要があるアプリケーションでのみ、論理的な削除を許可しています。すべてのエンティティで同じフィールドを繰り返す代わりに、「isActive」のプロパティと getter-setter を持つ基本クラスを作成しました。
そのため、削除中に update() メソッドを呼び出し、isActive を false に設定します。
私はこれを機能させることができません。誰かが何か考えを持っているなら、私に知らせてください。
ベースエンティティ
public abstract class BaseEntity<TId extends Serializable> implements IEntity<TId> {
@Basic
@Column(name = "IsActive")
protected boolean isActive;
public Boolean getIsActive() {
return isActive;
}
public void setIsActive(Boolean isActive) {
isActive= isActive;
}
}
子エンティティ
@Entity(name="Role")
@Table(schema = "dbo")
public class MyEntity extends BaseEntity {
//remaining entities
}
Hibernate Util クラス
public void remove(TEntity entity) {
//Note: Enterprise data should be never removed.
entity.setIsActive(false);
sessionFactory.getCurrentSession().update(entity);
}