java - 有限制的 Hibernate 实体

标签 java hibernate annotations restriction

我们有一个映射到 hibernate 实体的数据库表。到目前为止一切都很顺利...

但是我们想要的是仅映射满足特定标准的实体,例如“distinct(fieldA,fieldB)”...

是否可以使用hibernate和hibernate注释进行映射?我们怎样才能做到呢?使用@Filter?

最佳答案

我建议您使用@Where注解。此注释可用于集合的元素 Entity 或目标实体。您提供一个用 sql 编写的子句属性,该属性将应用于 hibernate 对该实体执行的任何选择。它非常易于使用且可读性强。

这是一个示例。

@Entity
//I am only interested in Donuts that have NOT been eaten
@Where(clause = "EATEN_YN = 'N'")
public class Donut {

  @Column(name = "FILLING")
  private String filling;

  @Column(name = "GLAZED")
  private boolean glazed = true;

  @Column(name = "EATEN_YN")
  private boolean eaten = false;

...

}

关于java - 有限制的 Hibernate 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1662444/

相关文章:

java - 从 hibernate 检索类会抛出 nullpointerException

java - 编写 hibernate 查询时遇到问题

java - 无法在教练类(class)上设置教练 car_id

java - 在包级注解中使用@GenericGenerator

java - 带有命令行参数的 Math.pow

java - 构建具有不同列数的 html 表

java - 与 Hibernate 一对一关系,提交 JSP 表单时出现共享 key 错误

scala - 处理宏注释时无法访问父级成员

java - 如何组织我的 Java 代码?

java - 如何在不吃下一个整数的情况下检查下一行?