这行吗-
@OneToOne()
@JoinColumn(name = "id", referencedColumnName = "type_id")
@Where(clause = "type_name = OBJECTIVE")
public NoteEntity getObjectiveNote() {
return objectiveNote;
}
这就是我想要做的 - 从 note
表中获取记录,其 type_id
是当前对象的 id
和 type_name
是 OBJECTIVE
。
我无法使上述映射工作。我在这里做错了什么?
最佳答案
这只是简单的行不通,抱歉 :( 您将需要以一对多的方式进行操作,并接受一个包含单个元素的集合。
如果您真的希望它以这种方式工作,您可以通过在连接表中同时存储外键 ID 和 type_name 并告诉它这两列组成外键来欺骗 hibernate 。
关于java - 使用 @Where 子句的 Hibernate @OneToOne 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383070/