hibernater 对实体关联

对于hibernate 多实体关联

不管什么都是many 一端控制关系

person段  单项连接

@ManyToOne(targetEntity=Address.class,cascade=CascadeType.All)

@JoinColumn(name="address_id",nullable=false)

----------------------有表连接

@ManyToMany(targetEnetity=Address.class,cascade=CascadeType.All)

@JoinTable(name="person_address",

                      joinColumns=@JoinColumn(name="person_id",referencedColumnName="person_id",unique=true),   //首先关联本表

                      inverseJoinColumns=@JoinColumn(name="address_id",referencedColumnName="address_id")  //再是关联其他的表

                      )

-------------------------------------------

@OneToOne(targetEntity=Address.class,cascade=CascadeType.ALL)

JoinColumn(name="address_id",referencedColumnName="address_id")  //关联其他表到本表作为外键

-----------------------------------------------------------------

@OneToOne(targetEntity=Address.class,cascade=CascadeType.All)

JoinTable(name="person_address",

                    joinColumns=@JoinColumn(name="person_id",referencedColumnName="person_id",unique=true),  /首先关联本表

                    inverseJoinColumns=@JoinColumn(name="address_id",referencedColumnName="address_id",unique=true)//关联从表

)


-------------------------------

@OneToMany(targerEntity=Address,class,cascade=CascadeType.ALL)

@JoinColumn(name="person_id",rreferencedColunm="person_id")   //关联本表,到Many


对于上述的reference ,他是关联到其他表,但是有时候他是关联本表,但是都是关联到Many段,对于连段差不多,就是先关联本段

referencedColumnName 他与name感觉相同

如有有name的话,他会将后面的字段只作为列名字,但是他总会关联Address_id  关联实体的主键

如果只有referencedNameColumn 他会将实体名字+字段名字杜

对于联合实体,用连接表来连接,不用考虑性能问题,和先持久化那个的问题建议能用变连接就用()



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值