我有一个模型对象关系,例如:
@Table(name="cables")
class Cable {
@Id
private Long id;
@Column(name="dstport_id")
private Port dstPort;
@Column(name="srcport_id")
private Port srcPort;
}
@Table(name="ports")
class Port {
@Id
private Long id;
private Cable cable; // Here's the mapping that should point to cables.dstport_id or cables.srcport_id whatever is present
}
在这种关系中,映射是通过 Cable 的 dstport_id 或 srcport_id 列的一对一映射。一根电缆可以连接到一个、一个或两个(完全不同的)端口。端口可以不连接或仅连接一根电缆,并且可以连接到任一端点。那么,在 Hibernate 中有没有办法在 Port 实体中映射这种关系(在 Cable 实体中映射它没有技巧)?