0

我有一个要求,应该根据特定条件获取 @OneToOne 关联。

class Entity2 {
    @OneToOne
    @Where(clause="epoch_end_time > current_timestamp() ")
    @JoinColumn(name="program_index",insertable=false,updatable=false,nullable=false)
    private ProgramHistory pgmHistory;
} 

class Entity1 {

@OnetoMany
@JoinColumn(...........)
private Entity2 entity;

}

当我执行“从 Entity1”..Hibernate 创建具有如下条件的查询“..........,Entity2.proram_index = ProgramHistory.program_index”...但我也需要 @Where 子句作为此查询的一部分添加。但是休眠似乎从来没有添加它。知道吗?@Where..我的案例 epoch_end_time 是否有任何替代方案是 ProgramHistory 表中的一个 coloum。

@Where 与@OneToMany 一起正常工作......但我的要求是将条件放在@OneToOne 的关联实体中。@Filter 会有帮助吗?文档说@Where 和@Filter 是为了收集。

4

1 回答 1

2

@Where 和 @Filter 用于收集。因此它不适用于 @OneToOne。

于 2012-12-04T05:19:05.110 回答