日期:2014-05-20  浏览次数:20728 次

求助一个数据库字段的设计,请教如何【注解】此字段
三张表A、B、C,主键分别是A_ID、B_ID、C_ID,A表里面有一个字段TYPE(String)跟一个字段CONNECT_ID(Long),TYPE字段的值有两种,分别是CONNECT_B跟CONNECT_C。

如果TYPE为CONNECT_B,那么A表中的字段CONNECT_ID就对应B表中的B_ID。
如果TYPE为CONNECT_C,那么A表中的字段CONNECT_ID就对应C表中的C_ID。

实际表中B_ID跟C_ID是一样的,下面是我在A实体类中的注解,请大家指教下,B跟C实体类中用注解什么吗?

@Column(name = "CONNECT_ID")
private Long connectId;//

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CONNECT_ID", nullable = true,referencedColumnName="B_ID")
private B b;

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CONNECT_ID", nullable = true,referencedColumnName="C_ID")
private C c;


在线等。。。。求解

------解决方案--------------------
注解,不知道。帮顶吧。
------解决方案--------------------
帮顶吧。。。

探讨

求帮顶!~求帮忙。。。。

------解决方案--------------------
你这个type字段只能定义为一个单纯的数据,不要和B和C关联了。然后通过这个字段的值去B和C查询,你说的这样通过对象去关联没法实现。