【发布时间】:2014-03-31 19:03:44
【问题描述】:
我正在使用 Java、Hibernate、Spring Data 并且对这项技术相当陌生。 我需要弄清楚如何跳过标记为“已归档”的行。我们的数据库架构师严格指导我们不得从数据库中删除任何行。
@MappedSuperclass
public class AbstractEntity implements Identifiable<String> {
@Id
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy="uuid")
private String id;
private boolean archived; //<----?
}
@Entity
public class Employee extends AbstractEntity {
private String title;
private String fullName;
@ManyToOne
private Department dept;
}
@Entity
public class Department extends AbstractEntity {
private String name;
}
在上面的示例中,任何扩展 AbstractEntity 的类都不应返回已归档 == true 的行。我所有的域类都将扩展 AbstractEntity,所以我想要一个在 AbstractEntity.java 中或在某些全局配置中实现的解决方案,以便所有生成的 SQL 调用都是 'where [table]。归档 true'
【问题讨论】:
标签: java hibernate jpa spring-data-jpa