【发布时间】:2012-07-04 10:56:36
【问题描述】:
我有两个实体:
@Entity
@Table(name="TableA")
public class TableA {
@Id
@Column(name="id")
long id;
@Column(name="tableB_id")
long tbId;
@Column(name="column1", table="TableB")
String tbColumn1;
}
@Entity
@Table(name="TableB")
public class TableB {
@Id
@Column(name="id")
long id;
@Column(name="column1")
String column1;
}
TableA 有一个指向 TableB.id 的外键“tbId”。 TableB 有一个名为“column1”的列,现在我想通过某种连接在 TableA 实体中获取“column1”。就JPA而言,我应该采取什么方式?这不是 OneToOne,因为我不想在 TableA 中连接整个 TableB 实体。
【问题讨论】:
-
你考虑过数据库 VIEW 还是 JPA 构造查询?
-
你只是想用它来阅读,而不是修改,对吧?
-
我认为你需要@SecondaryTable 注释:en.wikibooks.org/wiki/Java_Persistence/Tables#Multiple_tables
-
@JMelnik,是的,仅供阅读。我不想要 VIEW 因为它引入了其他复杂的东西。什么是构造查询?
-
@McIntosh。 SecondaryTable 不起作用。看我的另一篇帖子stackoverflow.com/questions/11305977/…