hibernate关于ORM映射文件配置(包括单文件、一对一、一对多、多对多等)
来源:互联网 发布:如何测试网络 编辑:程序博客网 时间:2024/06/03 19:49
单文件配置:
<span style="font-size:24px;"><hibernate-mapping><!--<span style="color:#ff0000;"> name为类的全路径,table为表名</span> --><class name="com.lovo.bean.MessageBean" table="t_user"><!-- <span style="color:#ff0000;">定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写 </span>--><id name="id" column="id"><!-- <span style="color:#ff0000;">定义主键生成策略 ,native表示利用数据库的主键自动增长列来生成主键</span>--><generator class="native"></generator></id><!-- <span style="color:#ff0000;">定义普通属性</span> --><property name="userName"></property><property name="tel"></property></class></hibernate-mapping></span>
1)主表所对应的文件配置方法:
<span style="font-size:24px;"><hibernate-mapping><!-- <span style="color:#ff0000;">name为类的全路径,table为表名</span> --><class name="com.lovo.bean.ManBean" table="t_man"><!-- <span style="color:#ff0000;">定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写</span> --><id name="id" column="id"><!-- <span style="color:#ff0000;">定义主键生成策略 ,native表示利用数据库的主键自动增长列来生成主键</span>--><generator class="native"></generator></id><!-- <span style="color:#ff0000;">定义普通属性</span> --><property name="manName"></property><!-- <span style="color:#ff0000;">name为属性名,class为该属性的类型,cascade表示当对主表对象操作时,从表对象是否做级联操作</span> --><one-to-one name="code" class="com.lovo.bean.CodeBean" cascade="all"></one-to-one></class><span style="color:#ffffff;"></hibernate-mapping></span></span>
2)从表所对应的文件配置方法:
<span style="font-size:24px;"><hibernate-mapping><!-- name为类的全路径,table为表名 --><class name="com.lovo.bean.CodeBean" table="t_code"><!-- 定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写 --><id name="id" column="id"><!-- <span style="color:#ff0000;">foreign表示该主键同时也是外键</span>--><generator class=<span style="color:#ff0000;">"<strong>foreign</strong></span>"><!-- <span style="color:#ff0000;">man为属性名,表示该主键由ManBean对象的主键生成</span> --><param name="property">man</param></generator></id><!-- 定义普通属性 --><property name="codeName"></property><!-- <span style="color:#ff0000;">costrined表示该表的主键存在外键约束</span> --><!--l<span style="color:#ff0000;">azy="false"表示取消延迟加载,查询该对象时,关联对象立即查询</span> --><<span style="color:#ff0000;"><strong>one-to-one</strong></span> name="man" class="com.lovo.bean.ManBean"constrained="true" lazy="false"></one-to-one></class></hibernate-mapping></span>
一对多文件配置:
1)主表所对应的 映射文件:
<hibernate-mapping><!-- name为类的全路径,table为表名 --><class name="com.lovo.bean.UserBean" table="t_user2"><!-- 定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写 --><id name="id" column="id"><!-- 定义主键生成策略 ,native表示利用数据库的主键自动增长列来生成主键--><generator class="native"></generator></id><!-- 定义普通属性 --><property name="userName"></property><property name="birthday"></property><set name="roomSet" inverse="true"><!-- <span style="color:#ff0000;">配置从表外键</span> --><key column="userId"></key><!-- <span style="color:#ff0000;">配置一对多,指定集合存放元素的类型</span> --><<strong><span style="color:#ff0000;">one-to-many</span></strong> class="com.lovo.bean.RoomBean"/></set></class></hibernate-mapping><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span>
2)从表所对应的 映射文件:
<hibernate-mapping><!-- name为类的全路径,table为表名 --><class name="com.lovo.bean.RoomBean" table="t_room"><!-- 定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写 --><id name="id" column="id"><!-- 定义主键生产策略 ,native表示利用数据库的主键自动增长列来生成主键--><generator class="native"></generator></id><!-- 定义普通属性 --><property name="address"></property><property name="price"></property><!--<strong><span style="color:#ff0000;">一对多</span></strong>, lazy="false"解决懒加载异常问题--><<span style="color:#ff0000;"><strong>many-to-one</strong></span> name="user" class="com.lovo.bean.UserBean"column="userId" lazy="false"></many-to-one></class></hibernate-mapping>
多对多文件配置:(在数据库中需要中间表来关联)
1)主表所对应的 映射文件:<hibernate-mapping><!-- name为类的全路径,table为表名 --><class name="com.lovo.bean.RoleBean" table="t_role"><!-- 定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写 --><id name="id" column="id"><!-- 定义主键生产策略 ,native表示利用数据库的主键自动增长列来生成主键--><generator class="native"></generator></id><!-- 定义普通属性 --><property name="roleName"></property><!-- <span style="color:#ff0000;">talbe为中间表的表名</span> --><set name="gradeSet" table="t_role_grade"><!-- <span style="color:#ff0000;">当前对象对应中间表的外键列名</span> --><key column="roleId"></key><!-- <span style="color:#ff0000;">class为集合中存放元素的类型,</span>
<span style="color:#ff0000;"><span style="white-space:pre"></span>column为集合中存放元素对应的中间表的外键列名</span> --><<span style="color:#ff0000;">many-to-many</span> class="com.lovo.bean.GradeBean" column="gradeId"></many-to-many></set></class></hibernate-mapping><span style="color:#ff0000;"></span>
2)从表所对应的 映射文件:
<hibernate-mapping><!-- name为类的全路径,table为表名 --><class name="com.lovo.bean.GradeBean" table="t_grade"><!-- 定义主键,name表示哪个属性对应主键列,如果属性名和列名一致,column可以不写 --><id name="id" column="id"><!-- 定义主键生成策略 ,native表示利用数据库的主键自动增长列来生成主键--><generator class="native"></generator></id><!-- 定义普通属性 --><property name="gradeName"></property><set name="roleSet" table="t_role_grade"><!-- <span style="color:#ff0000;">配置从表外键</span> --><key column="gradeId"></key><!-- <span style="color:#ff0000;">配置一对多,指定集合存放元素的类型</span> --><<strong><span style="color:#ff0000;">many-to-many</span></strong> class="com.lovo.bean.RoleBean" column="roleId"/></set></class></hibernate-mapping>
0 0
- hibernate关于ORM映射文件配置(包括单文件、一对一、一对多、多对多等)
- Hibernate关系映射文件一对多,多对一配置
- Hibernate 关系映射 (一对一,一对多,多对多)
- Hibernate关联关系映射配置(一对多,多对多,一对一)
- Hibernate双向一对一,一对多,多对多关系映射
- Hibernate关联关系映射 一对一 一对多 多对一
- Hibernate 映射关系 一对多 单向映射文件配置
- Hibernate 关系配置(一对一,一对多)
- hibernate一对多,多对多关系映射文件
- Hibernate一对多、多对多映射文件的编写
- Hibernate中多表设计的一对多,多对一的映射文件的配置
- hibernate关联关系配置(一对一,一对多,多对多)
- Hibernate关联关系配置(一对一,一对多,多对多)
- hibernate一对一、一对多、多对多的配置方法
- MyBatis映射文件的resultMap一对一一对多关联
- Hibernate的映射关系与级联(一对一、一对多、多对多)
- Hibernate 关系映射案例(一对一关系,一对多关系,多对多关系)
- MyBatis注解方式与映射文件方式配合实现一对一,一对多,多对多(一)
- JVM工具jmap、jconsole、jstack、jstat、Javap检测内存泄漏问题
- IOS学习之核心动画-粒子效果
- 视频播放遇到的坑(新手)
- 机器学习系列:(一)机器学习基础
- 动态规划的基础模板
- hibernate关于ORM映射文件配置(包括单文件、一对一、一对多、多对多等)
- iOS开发必备插件
- Java Number
- MongoDB常用操作命令大全
- Android的四大组件之-Activity的启动模式
- linux文件管理 练习
- Leetcode 216. Combination Sum III (Medium) (cpp)
- JAVA之JDBC的相关问题(无法与SQLServer连接的解决)
- CFS完全公平调度类