annotation 与xml 多表映射关系

本文介绍了一对多关系中使用Hibernate进行对象关系映射的方法,包括如何使用Annotation和XML配置来实现Group与User之间的关联。展示了具体的Java类定义及映射文件。

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

一(Group)对多(User):

Annotation 声明映射文件(Group):

@Entity
@Table(name="t_group")
public class Group {
<wbr>private int id;<br><wbr>private String name;<br><wbr>private Set&lt;User&gt; users = new HashSet&lt;User&gt;();<br><wbr>@Id<br><wbr>@GeneratedValue<br><wbr>public int getId() {<br><wbr><wbr>return id;<br><wbr>}<br><wbr>public void setId(int id) {<br><wbr><wbr>this.id = id;<br><wbr>}<br><wbr>public String getName() {<br><wbr><wbr>return name;<br><wbr>}<br><wbr>public void setName(String name) {<br><wbr><wbr>this.name = name;<br><wbr>}<br><wbr>@OneToMany<br><wbr>@JoinColumn(name="groupId")<br><wbr>public Set&lt;User&gt; getUsers() {<br><wbr><wbr>return users;<br><wbr>}<br><wbr>public void setUsers(Set&lt;User&gt; users) {<br><wbr><wbr>this.users = users;<br><wbr>}<br> }<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>xml<span style="font-size:18px">声明映射文件(Group):</span></wbr>

<hibernate-mapping>
<wbr>&lt;class name="com.bjsxt.hibernate.Group" table="t_group"&gt;<br><wbr><wbr>&lt;id name="id"&gt;<br><wbr><wbr><wbr>&lt;generator class="native"&gt;&lt;/generator&gt;<br><wbr><wbr>&lt;/id&gt;<br><wbr><wbr><br><wbr><wbr>&lt;property name="name"&gt;&lt;/property&gt;<br><wbr><wbr>&lt;set name="users"&gt;<br><wbr><wbr><wbr>&lt;key column="groupId"&gt;&lt;/key&gt;<br><wbr><wbr><wbr>&lt;one-to-many class="com.bjsxt.hibernate.User"/&gt;<br><wbr><wbr>&lt;/set&gt;<br><wbr><wbr><wbr> &lt;/class&gt;<br><wbr><br> &lt;/hibernate-mapping&gt;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

Annotation 声明映射文件(User):

@Entity
@Table(name="t_user")
public class User {
<wbr>private int id;<br><wbr>private String name;<br><wbr><br><wbr><br><wbr>@Id<br><wbr>@GeneratedValue<br><wbr>public int getId() {<br><wbr><wbr>return id;<br><wbr>}<br><wbr>public void setId(int id) {<br><wbr><wbr>this.id = id;<br><wbr>}<br><wbr>public String getName() {<br><wbr><wbr>return name;<br><wbr>}<br><wbr>public void setName(String name) {<br><wbr><wbr>this.name = name;<br><wbr>}<br> }<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>xml<span style="font-size:18px">声明映射文件(User):</span></wbr>

<hibernate-mapping>
<wbr>&lt;class name="com.bjsxt.hibernate.User" table="t_user"&gt;<br><wbr><wbr>&lt;id name="id"&gt;<br><wbr><wbr><wbr>&lt;generator class="native"&gt;&lt;/generator&gt;<br><wbr><wbr>&lt;/id&gt;<br><wbr><wbr><br><wbr><wbr>&lt;property name="name"&gt;&lt;/property&gt;<br><wbr><wbr><br><wbr><wbr><wbr> &lt;/class&gt;<br><wbr><br> &lt;/hibernate-mapping&gt;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值