如何执行自定义查询或过滤器而不是实体级查询?

时间:2018-07-29 12:10:43

标签: hibernate

如何覆盖关联的where子句?

@Entity
@Table(name = "person")
@Where(clause = "deleted = 0")
public class Person

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "persion_detail_id", nullable=false)
    private PersonDetail personDetails;

}

这里是PersonDetail实体

@Entity
@Table(name = "person detail")
@Where(clause = "deleted = 0 ")
public class PersonDetail  {
}

获取personDetails时,我看到下面的查询被触发

从person_detail中选择...,其中id =?并删除= 0,我希望将查询作为select ... from person_detail,其中id =吗?和(已删除= 0或已删除= 1) 在一种特定情况下

有没有一种方法可以提及一些要在关联private PersonDetail personDetails上执行的自定义查询,或者可以通过@filter替代其他方法 @where的?

0 个答案:

没有答案