1、双向一对一外键关联
package org.lazyzhong.model; public class User { private int id; private String name; private Address address; 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; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public User() { super(); } }
package org.lazyzhong.model; public class Address { private int id; private String address; private User user; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Address() { super(); } }
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="User" table="user"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="name" type="string" length="10" /> <many-to-one name="address" column="addressid" unique="true" /> </class> </hibernate-mapping>
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="Address" table="address"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="address" type="string" length="20" /> <one-to-one name="user" class="User" /> </class> </hibernate-mapping>
2、双向一对多外键关联:
package org.lazyzhong.model; import java.util.List; public class User { private int id; private String name; private List<Address> addresses; 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; } public List<Address> getAddresses() { return addresses; } public void setAddresses(List<Address> addresses) { this.addresses = addresses; } public User() { super(); } }
package org.lazyzhong.model; public class Address { private int id; private String address; private User user; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Address() { super(); } }
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="User" table="user"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="name" type="string" length="10" /> <bag name="addresses" cascade="all"> <!-- 指定外键名。。 --> <key column="userid" /> <one-to-many class="Address" /> </bag> </class> </hibernate-mapping>
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="Address" table="address"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="address" type="string" length="20" /> <many-to-one name="user" class="User" cascade="all"> <column name="userid" /> </many-to-one> </class> </hibernate-mapping>
3、双向一对多连接表关联:
实体类和上面的一致。。。
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="User" table="user"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="name" type="string" length="10" /> <bag name="addresses" cascade="all" table="jointab"> <!-- 指定外键名。。 --> <key column="userid" /> <many-to-many unique="true" class="Address" column="addressid" /> </bag> </class> </hibernate-mapping>
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="Address" table="address"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="address" type="string" length="20" /> <join table="jointab" inverse="true"> <key column="addressid" /> <many-to-one name="user" class="User" cascade="all" column="userid" /> </join> </class> </hibernate-mapping>
4、多对多双向关联
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="User" table="user"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="name" type="string" length="10" /> <bag name="addresses" cascade="all" table="jt"> <key column="userid" /> <many-to-many class="Address" column="addressid" /> </bag> </class> </hibernate-mapping>
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.lazyzhong.model"> <class name="Address" table="address"> <id name="id" type="int"> <generator class="identity"/> </id> <property name="address" type="string" length="20" /> <bag name="users" cascade="all" table="jt"> <key column="addressid" /> <many-to-many class="Address" column="userid"/> </bag> </class> </hibernate-mapping>
相关推荐
### Oracle 数据库关系映射详解 #### 关系映射概览 关系映射是指在数据库设计过程中,将实体之间的逻辑关系转化为物理数据模型的过程。这一过程对于构建高效且易于维护的数据库至关重要。Oracle数据库作为业界领先...
对象/关系映射 —Hibernate 对象/关系映射 —Hibernate 对象/关系映射 —Hibernate
Hibernate对象关系映射一对多 很基础等文档
Mybatis 是一款流行的轻量级持久层框架,它与Spring MVC 集成后能方便地处理数据库操作,包括各种复杂的数据关系映射。在Java Web开发中,数据关系映射是必不可少的一部分,它帮助我们将数据库中的表结构映射到对象...
在IT行业中,MyBatis是一个广泛使用的持久层框架,它允许开发者将对象关系映射(Object-Relational Mapping,ORM)以XML配置文件的方式进行定义,从而极大地简化了数据库操作。这篇“mybatis学习总结:对象关系映射...
在JPA中,关系映射是核心特性之一,它将数据库表之间的关系映射为Java类之间的关系,使数据操作更加直观和方便。本篇将深入探讨JPA中的一对一(OneToOne)、一对多(OneToMany)以及多对多(ManyToMany)关系映射。 ...
Hibernate_关联关系映射配置详解,希望能帮助广大java爱好者
**标题:“Hibernate关系映射”** 在Java世界中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者将数据库操作转化为面向对象的方式,极大地简化了数据持久化的复杂性。"多对一"关系映射是Hibernate...
标题 "ibatis 的关系映射" 指的是在使用 iBATIS(一款优秀的Java持久层框架)时,如何处理数据库中的对象关系映射(ORM)问题。在Java应用程序中,iBATIS 提供了一种方便的方式来将数据库操作与业务逻辑解耦,使得...
ORM,全称Object-Relational Mapping,即对象关系映射,是编程领域中一种用于将关系数据库的数据模型映射到面向对象程序设计中的技术。它为开发者提供了一种抽象的方式来处理数据库操作,使得程序员可以使用面向对象...
对象关系映射(ORM) 对象关系映射(ORM)是一种概念性的、易于理解的模型化数据的方法,基于三个核心原则:简单、传达性、精确性。ORM 方法论提供了概念性的模型化数据的方法,基于数据模型创建正确标准化了的结构...
数学方法论丛书-关系映射反演方法.pdf
对象-关系映射—Hibernate 培训 (中文) 目录 一、持久化层-O/R Mapping 二、Hibernate入门 三、Hibernate映射申明(Mapping declaration) 四、持久化对象的状态和生命周期 五、Hibernate查询 六、Hibernate最佳...
**标题:“Hibernate的关系映射”** 在Java编程领域,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,将Java对象与数据库表之间的交互转化为简单的API调用。关系映射是Hibernate的核心特性之...
这个项目“ssm_integration_with_relationship_mapping”显然是为了帮助初学者掌握如何将这三个框架协同工作,同时涉及到数据库的关系映射配置。 **Spring框架**是Java领域的一个全功能容器,它管理对象的生命周期...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的编程。"hibernate关联关系映射"是Hibernate的核心概念之一,它定义了如何...
【标题】"Hibernate教程20_关系映射案例三"主要涵盖了在Hibernate框架中如何进行对象关系映射(ORM)的实践,特别是针对复杂关系的处理。在这个教程中,我们可能会学习到以下关键知识点: 1. **关系映射**:...
在IT行业中,数据库关系映射是数据访问层的重要部分,特别是在使用ORM(对象关系映射)框架时。Ibatis,作为一个轻量级的Java ORM框架,提供了强大的功能来处理复杂的数据映射,其中包括一对多的关系映射。在这个...