自己较常用的hibernate注释配置

本文深入探讨了Java持久层中常见的三种关系映射:一对一、多对一及多对多,并详细解析了Hibernate框架下这些映射的具体实现方式,包括注解配置及表关联等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. OneToMany(XXClass)


@OneToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "xx")
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private Collection<YYClass> prizes = new ArrayList<YYClass>();



与之对应的 ManyToOne(YYClass)


@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
@JoinColumn(name = "xx_id", nullable = false)
private XXClass xx;



2.ManyToMany(XXClass)


@ManyToMany( cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "table_yyyy", joinColumns = { @JoinColumn(name = "xxxx_id") }, inverseJoinColumns = { @JoinColumn(name = "yyyy_id") })

private Set<ElectronicCoupon> electronicCoupons;



与之对应的 ManyToMany(YYClass)


@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "t_ded5_member_coupon", joinColumns = { @JoinColumn(name = "yyyy_id") }, inverseJoinColumns = { @JoinColumn(name = "xxxx_id") })

private Set<ElectronicCoupon> electronicCoupons;


3.Id
@Id
@GeneratedValue(generator = "hibernate-uuid")
private String id;


4.普通字段
@Basic
@Column(name = "remark", length = 255)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值