@在hibernate中没有使用@onetoone

时间:2012-12-03 05:39:25

标签: hibernate jpa hql

我有一个要求,即应根据特定条件获取@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子句还必须添加作为此查询的一部分。但是hibernate似乎永远不会引用它。任何想法?有什么替代@ Where ..我的情况epoch_end_time是ProgramHistory表中的coloum。

@Where与@OneToMany合作......但我的要求是将条件放在@OneToOne的被动实体中。 @Filter会帮忙吗?文档说@Where和@Filter适用于Collection。

1 个答案:

答案 0 :(得分:2)

@Where和@Filter意味着收集。所以它不适用于@OneToOne。