关于一个表关联两个表中之一的注解方式

原创 2012年03月22日 13:45:02
三张表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。

@Column(name="TYPE",length="10")
private String type;

@Column(name = "CONNECT_ID",updatable = false,insertable = false)
private Long connectId;

@OneToOne(fetch = FetchType.LAZY)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "CONNECT_ID" ,nullable = true,updatable = false,insertable = false,referencedColumnName="B_ID")
private B b;

@OneToOne(fetch = FetchType.LAZY)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "CONNECT_ID", nullable = true,updatable = false,insertable = false,referencedColumnName="C_ID")
private C c;


就是这样,如果是单向关联,BC表不需要关联,如果是双向,BC表也需要注解

@OneToOne(fetch= FetchType.LAZY)
@JoinColumn(name = "A_ID", nullable = true,referencedColumnName="CONNECT_ID")
private A a;

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

两个关联表如何更新其中一个表的数据?

两个关联表如何更新其中一个表的数据? 今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表...

两个关联表如何更新其中一个表的数据

示例更新: UPDATE B SET B.F_DATE=A.F_DATE FROM C1T06 A, C1T15 B WHERE A.F_CODE=B.F_CODE AND A.F_CQRQ =B....

两个关联表如何更新其中一个表的数据

两个关联表如何更新其中一个表的数据? 今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表的一...

Hibernate 实体类注解 Entity方式5、@Basic(fetch=FetchType,optional=true) 可选 @Basic表示一个简单的属性到数据库表的字段的映射,对于没有

Hibernate注解 1。@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2、@Table(name="",catalog...

ArcGIS表关联方式介绍

  • 2011年08月01日 10:18
  • 698KB
  • 下载

hibernate5(14)注解映射[6]多对多中间表关联

在我们的角色管理系统中,一个用户可以有多种角色,一种角色可以赋予多个用户,显然用户和角色就是典型的多对多关系。又或者博客网站上,用户与文章点赞记录也是一个多对多关系,即一个用户可以点赞多篇文章,一篇文...

一次涉及两个大表关联的优化

sql: select * from (select fd.analystid, dr.objid DOCID, dr.title, ...

将具有关联关系的两个表通过hibernate从数据库中查出来后转成Json对象时报错解决

第一篇文章: 相信大家做过JSON相关的东西对这个异常并不陌生,这个异常是由于JSONObject插件内部会无限拆解你传入的对象,直到没有可拆解为止,问题就在这,如果你传入的对象有外键关系,或者...

oracle 实现 关联两个表更新 update select

需求:        有两张表A,B。表A和表B有共同的字段,id,dev_ip,collector_id. 其中id是作为两个表关联的唯一标识。即表A中的id与表B中的id是一一对应的。本来B表中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于一个表关联两个表中之一的注解方式
举报原因:
原因补充:

(最多只允许输入30个字)