思路就是:
这里有一个小例子:
多对多的核心表,第三方表。table:
create table thrid( one_id int not null, two_id int not null, constranit FK_one_id froeign key(one_id) reference one(id_in_one), constraint FK_two_id foreign key(two_id) reference two(id_in_two) );
这里就是将两个表的主键作为了这个第三方的外键了。这样可以方便关系的搭建。
遵守JavaBean的命名规范
有无参的构造方法
属性私有,以共有的setter和getter访问
一定一定要记得包含多表中对方的一个集合set。
这个映射文件可谓是Hibernate的核心所在了。注意这个文件要放到和实体类一个目录下,也就是放到实体包中,这样会比较好,方便查找和操作。
使用插件生成或者参照模板进行修改。最核心的就是set标签及内部的many-to-many标签了,如下:
employees 映射文件配置(多)
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.h_hbm_oneToMany"> <class name="Employee" table="employee"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> <!-- department属性,Department类型,表示Employee与Department的多对一 --> <many-to-one name="department" column="departmentId" class="Department"></many-to-one> </class> </hibernate-mapping>
以及 department 映射文件配
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.h_hbm_oneToMany"> <class name="Department" table="department"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> <!-- employees属性,Set集合,表达的是Department与Employee的一对多 inverse属性:true表示自己是否放弃维护关联关系,默认为false。 --> <set name="employees" inverse="true"> <key column="departmentId"></key> <one-to-many class="Employee"/> </set> </class> </hibernate-mapping>
配置完以上几步,我们就可以正常的编写我们的“DAO”层代码了,但是由于有了Hibernate的Session这个神器,我们需要做的也就是在DAO层中进行相关的API的调用。这将是非常非常的简单以及轻松的一项任务。
以上就是本文关于hibernate多表操作实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
本文向大家介绍Python中join()函数多种操作代码实例,包括了Python中join()函数多种操作代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python中join()函数多种操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中有.join()和os.path.join()两个函数,具体作用如
本文向大家介绍hibernate批量操作实例详解,包括了hibernate批量操作实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了hibernate批量操作的方法。分享给大家供大家参考,具体如下: Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作。例如调用Session的dele
本文向大家介绍Python Learning 列表的更多操作及示例代码,包括了Python Learning 列表的更多操作及示例代码的使用技巧和注意事项,需要的朋友参考一下 遍历列表-for循环 列表中存储的元素可能非常多,如果想一个一个的访问列表中的元素,可能是一件十分头疼的事。那有没有什么好的办法呢?当然有!使用 for循环 假如有一个食物名单列表,通过 for循环 将列表中的食物名称都打印
本文向大家介绍python多进程操作实例,包括了python多进程操作实例的使用技巧和注意事项,需要的朋友参考一下 由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况我们需要使用多进程。 这也许就是python中多进程类库如此简洁好用的原因所在。在python中可以向多线程一样简单地使用多进程。 一、
本文向大家介绍python操作链表的示例代码,包括了python操作链表的示例代码的使用技巧和注意事项,需要的朋友参考一下 以上就是python操作链表的示例代码的详细内容,更多关于Python链表的资料请关注呐喊教程其它相关文章!
本文向大家介绍springdata jpa单表操作crud的实例代码详解,包括了springdata jpa单表操作crud的实例代码详解的使用技巧和注意事项,需要的朋友参考一下 1. 项目搭建 使用boot整合,导入springdata jap, mysql 驱动,lombok,web。 1.1 配置 1.2 实体类 1.3 继承JpaRepository接口 2. 批量新增 业务类 测试 3.