有两个数据库表,例如 1.表A,主键为aId。 A的名称为orderNo。 2.表B,主键为bId。 B有一个名为salesOrderNo的列。
A.orderNo与B.salesOrderNo相同,并且,对于表A中与特定orderNo相对应的一个条目,表B中可以有许多条目具有相同的salesOrderNo。
如何定义OneToMany(EntityA:EntityB)关系。
我尝试了以下操作,但遇到了问题:
@Entity
@Table(name = "A")
public class A implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@Column(name = "A_KEY")
private String aId;
@Column(name = "ORDER_NO")
private String orderNo;
@OneToMany
@JoinColumn(referencedColumnName = "salesOrderNo")
List<B> b;
}
@Entity
@Table(name = "B")
public class B implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@Column(name = "B_KEY")
private String bId;
@Column(name="SALES_ORDER_NO")
private String salesOrderNo;
@ManyToOne
@JoinColumn(referencedColumnName = "orderNo")
@JsonIgnore
private A a;
}
我在应用程序启动过程中看到的错误是:
调用init方法失败;嵌套的异常是org.hibernate.MappingException:无法在org.hibernate.mapping.Table(A)及其相关的超表和辅助表中找到逻辑名称为orderNo的列。