java - 使用 @Where 子句的 Hibernate @OneToOne 映射

标签 java hibernate hibernate-mapping hibernate-annotations

这行吗-

@OneToOne()
@JoinColumn(name = "id", referencedColumnName = "type_id")
@Where(clause = "type_name = OBJECTIVE")
public NoteEntity getObjectiveNote() {
  return objectiveNote;
}

这就是我想要做的 - 从 note 表中获取记录,其 type_id 是当前对象的 idtype_nameOBJECTIVE

我无法使上述映射工作。我在这里做错了什么?

最佳答案

这只是简单的行不通,抱歉 :( 您将需要以一对多的方式进行操作,并接受一个包含单个元素的集合。

如果您真的希望它以这种方式工作,您可以通过在连接表中同时存储外键 ID 和 type_name 并告诉它这两列组成外键来欺骗 hibernate 。

关于java - 使用 @Where 子句的 Hibernate @OneToOne 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383070/

相关文章:

java - 如何将逗号分隔的字符串转换为 Core Java 中的 T 列表

java - NoSuchMethodError : javax. 验证.BootstrapConfiguration.getClockProvider

java - Jetty 中的 Hibernate 4 TransactionManagerLookup

java - Hibernate 可以在性能敏感的应用程序中使用吗?

java - 为什么 Java ArrayList 类为添加返回一个 boolean 值?

java - 从千兆字节文件中读取

mysql - 在 Hibernate 中使用 @ManytoMany 时,是否可以在提供者创建的连接表中设置非主键

java - 如何删除孤立记录?

java - 我需要将此 hibernate 表表示为 mysql 表

hibernate - 为 tomcat 配置 hibernate JNDI 的挑战