Pan*_*kaj 9 hibernate jpa one-to-many hibernate-onetomany
我正在研究遗留系统,需要从数据库中读取一些信息.以下是表格关系
供应商(vendorId - pk,vendorEid,name)
VendorContactBridge(bridgeId -pk,vendorEid,contactEid)
联系人(contactId -pk,contactEid,phone)
vendorEid和contactEid不是表的主键,而是用作Join表VendorContactBridge中的连接列.
供应商实体 -
@Entity
@Table(name="Vendor")
public class Vendor implements Serializable{
@Id
@Column(name="VENDORID")
private BigDecimal vendorId;
@Column(name="VENDOREID")
private BigDecimal vendorEid;
@OneToMany(fetch = FetchType.EAGER)
@JoinTable(name="VENDORCONTACTBRIDGE",
joinColumns={@JoinColumn(name="VENDOREID", referencedColumnName="VENDOREID")},
inverseJoinColumns={@JoinColumn(name="CONTACTEID", referencedColumnName="CONTACTEID")})
private Set<Contact> vendorContact;
}
Run Code Online (Sandbox Code Playgroud)
联系实体 -
@Entity
@Table(name="CONTACT")
public class Contact implements Serializable{
@Id
@Column(name="CONTACTID")
private BigDecimal contactId;
@Column(name="CONTATEID")
private BigDecimal contactEId;
@ManyToOne
@JoinTable(name="VENDORCONTACTBRIDGE",
joinColumns={@JoinColumn(name="CONTACTEID", referencedColumnName="CONTATEID")},
inverseJoinColumns={@JoinColumn(name="VENDOREID", referencedColumnName="VENDOREID")})
private Vendor vendor;
}
Run Code Online (Sandbox Code Playgroud)
在运行查询时,获得以下异常
SecondaryTable JoinColumn无法引用非主键.
我删除了我在供应商实体中提供的Eager fetch,我没有得到任何异常,但它没有加载集合.关联有什么问题?
| 归档时间: |
|
| 查看次数: |
23380 次 |
| 最近记录: |