1

我有一个大数据库,分为几个模式。从 Eclipse 向导(JPA 工具)我生成了一个模式的 JPA 实体,但是有一些表依赖于其他模式中的其他表,问题是这些实体是这样创建的:

//Foreign Key of one table in other schema
@Column(name="TABLE_ID")
private BigDecimal tableId;

我认为它必须以这种方式生成:

//Foreign Key of one table in other schema
@JoinColum(name="TABLE_ID")
private TableClass tableId;

第二种方法比第一种更正确吗?有没有办法以第二种方式自动生成 JPA 实体?

4

1 回答 1

0

当从 jdbc 连接看不到 TableClass时,会生成 ID 而不是实际的实体关系。为这些表创建公共同义词(或等效)可能会有所帮助。即使有选择地选择表,也可以通过逆向工程观察到这种行为。与未选择表的实体关系通常会以您当前遇到的方式生成

例如,有两个表 Person 和 Address 以及从 Address 到 Person 的链接。

同时选择 Person 和 Address 将在 Address 中生成适当的实体关系,例如

private Person person;

另一方面,仅选择 Address 将简单地创建到原始类型的映射,因为 Person 实体不是由 JPA 工具生成的

private BigDecimal personId;

这就是您的情况似乎正在发生的事情

`

于 2013-11-04T12:37:52.783 回答