我有一个大型数据库,分为几个模式。从eclipse向导(JPA Tools)我生成一个模式的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实体?
答案 0 :(得分:0)
当jdbc连接中没有对 TableClass 的可见性时,会生成ID而不是实际的实体关系。为这些表创建公共同义词(或等效的)可能有所帮助。即使选择性地选择表格,也可以通过逆向工程观察到这种行为。通常以您当前正在经历的方式生成对未选择表的实体关系
例如因为有两个表人和地址以及从地址到人的链接..
选择Person和Address将在地址中生成适当的实体关系,如
private Person person;
另一方面,选择Just Address只会创建一个到原始类型的映射,因为JPA Tools不会生成Person实体
private BigDecimal personId;
这似乎是你的案件中发生的事情
`