如何将数据库表与Hibernate连接起来?

2025-05-30 14:39:01

1、当尝试实现图中提供的模式时,拥有Person类本身并不是很有用。

如何将数据库表与Hibernate连接起来?

2、该图规定了ticket和people之间的关系是many - to-many,因此使用了join表。

如何将数据库表与Hibernate连接起来?

3、对于下面的例子,tickets中的数据如下:

如何将数据库表与Hibernate连接起来?

4、person_ticket中的数据如下:

如何将数据库表与Hibernate连接起来?

5、您可以在这里看到,一个人拥有许多事件的票(person_id 1),而事件可以有多个票(event_id 1、2、3和5)。

6、修改Person类以保存票券集左佯抵盗合是有用的。这样,从数据库检索到的人员将保存一个Ticket对象列表,如果该人员需要询问售票处他有哪些赛事的票,那么这个列表可能会很有用。

7、您将需要创建一个Ticket类。

如何将数据库表与Hibernate连接起来?

8、Hibernate映射文件:Ticket.hbm.xml

如何将数据库表与Hibernate连接起来?

9、修改后的Person.hbm.xml

如何将数据库表与Hibernate连接起来?

10、Ticket Hibernate映射与您所期望的非常相似。惟一的新信息是,缩村枵沣您需要将eventId字段映射到event_id列—所有先前的示例都具有璜模惜割完全相同的名称。这个映射使您能够为Java和SQL保留适当的命名约定。

11、Person Hibernate映射包含一条新信息,即ticket衡痕贤伎s字段的一组。这引用person_ticket表。key-column番舸榆毛标记指示Hibernate如何执行它的SQL join—person_ticket的person_id列是连接条件,多对多标记引用Ticket实体的标识符。

12、您需要在Hibernate .cfg.xml配置文件中引用新的Ticket.hbm.xml文件

如何将数据库表与Hibernate连接起来?

13、然后还有一个更改要做:您需要向Person类添加一个collection字段,如下图所示。

如何将数据库表与Hibernate连接起来?

14、下图显示了一个更新后的测试,确认检索Person对象现在包括一组罚单。

如何将数据库表与Hibernate连接起来?
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
猜你喜欢