hibernate对象关系映射的配置

2024-09-03 05:38

本文主要是介绍hibernate对象关系映射的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一对一主键关联单双向
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.wepull.pojo"><class name="IdCard" table="t_idcard"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- 双向配置如下 --><one-to-one name="p"></one-to-one></class>
</hibernate-mapping><hibernate-mapping package="com.wepull.pojo"><class name="Person" table="t_person"><id name="id"><generator class="foreign"><param name="property">i</param></generator>        </id><property name="name"></property><!-- person找Idcard  单向 --><one-to-one name="i" constrained="true"></one-to-one></class>
</hibernate-mapping>



一对一外键关联单双向
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.wepull.pojo"><class name="IdCard" table="t_idcard"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- 双向配置    级联删除--><one-to-one name="p" property-ref="i" cascade="delete"></one-to-one></class>
</hibernate-mapping><hibernate-mapping package="com.wepull.pojo"><class name="Person" table="t_person"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- person找Idcard  单向 --><many-to-one name="i" unique="true"></many-to-one></class>
</hibernate-mapping>




一对多/多对一
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.wepull.pojo"><class name="Student" table="t_student"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- 多对一配置如下 --><many-to-one name="c" class="Classes"></many-to-one></class>
</hibernate-mapping><hibernate-mapping package="com.wepull.pojo"><class name="Classes" table="t_classes"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- 一对多 --><set name="s" inverse="true"><!-- 由学生管理 --><!-- column:多的一方持有一的一方的外键字段 --><key column="c"></key><one-to-many class="Student" /></set></class>
</hibernate-mapping>



多对多单双向
<hibernate-mapping package="com.wepull.pojo"><class name="Role" table="t_role"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- 多对多 --><set name="u" table="t_user_role"><key column="r"></key><many-to-many class="User" column="u"></many-to-many></set>    </class>
</hibernate-mapping><hibernate-mapping package="com.wepull.pojo"><class name="User" table="t_user"><id name="id"><generator class="native"></generator>        </id><property name="name"></property><!-- 多对多配置如下 --><set name="r" table="t_user_role"><key column="u"></key><many-to-many class="Role" column="r"></many-to-many></set></class>
</hibernate-mapping>



Annotation注解(多对一)
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
/*** @author fcs* 不能自动删除表* 多对一单向     多方持有一方的外键* 2014-8-24*/@Entity
public class Student {private int id;private String name;private Classes c;@ManyToOne(fetch=FetchType.LAZY)//延迟加载@JoinColumn(name="cid")//修改表字段名  防止自动生成sidpublic Classes getC() {return c;}public void setC(Classes c) {this.c = c;}@Id@GeneratedValue(strategy=GenerationType.IDENTITY)//主键自增长public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}




















这篇关于hibernate对象关系映射的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132175

相关文章

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R