hibernate之映射关系一对多(自身关联)

简介: 自身关联注意的问题:    1、关联多的一方必须是只有一个父类节点,如果存在多个父类节点,那么就不能采用自身关联,(字段冗余数据太多)    2、自身关联可以节省表的设计、    3、一的一端为父节点,没有外键    4、多的一端为子节点,并且存在外键    5、关联一对多自身关联外键key、mary-to-one、指向同一个对象同时也是同一外键字段  代码配置:      
自身关联注意的问题:
   1、关联多的一方必须是只有一个父类节点,如果存在多个父类节点,那么就不能采用自身关联,(字段冗余数据太多)
   2、自身关联可以节省表的设计、
   3、一的一端为父节点,没有外键
   4、多的一端为子节点,并且存在外键
   5、关联一对多自身关联外键key、mary-to-one、指向同一个对象同时也是同一外键字段
  代码配置:
  
   1、创建表
    create table t_user(
    u_id varchar(255),
    u_name varchar(255),
    u_age Integer,
    u_price double(5,2),
    uc_id varchar(255),//外键
    primary key(u_id)
    );
    
   2、java-pojo类
     public class UserT  implements Serializable{
     private String id;
     public String name;
     private Integer age;
     private double price;
     //父类
     private UserT userTsup;
     //子类
     private Set<UserT> userchild = new HashSet<UserT>();
     
     public UserT(){}
     省略get、set方法
     }
    3、配置文件
     <?xml version="1.0"?>
      <!DOCTYPE hibernate-mapping PUBLIC
              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
              " http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
      
      <hibernate-mapping package="com.wolf.pojo.oneToone" auto-import="false">
          <class name="UserT" table="t_user">
          <!-- 多对一:只有单项    -->
              <id name="id" column="u_id">
              </id>
              <property name="name" column="u_name"/>
              <property name="age" column="u_age"/>
              <property name="price" column="u_price"/>
             
              <many-to-one name="userTsup" class="UserT" column="uc_id" lazy="false" cascade="all"></many-to-one>
           
           <set name="userchild" table="t_user" cascade="all" >
            <key column="uc_id"></key>
            <one-to-many class="UserT"/>
           </set>
          </class>
      </hibernate-mapping>
目录
相关文章
|
3月前
|
Java 数据库连接 API
解锁高效开发秘籍:深入探究 Hibernate 如何优雅处理一对多与多对多关系,让数据映射再无烦恼!
【9月更文挑战第3天】Hibernate 是 Java 领域中最流行的 ORM 框架之一,广泛用于处理实体对象与数据库表之间的映射。尤其在处理复杂关系如一对多和多对多时,Hibernate 提供了丰富的 API 和配置选项。本文通过具体代码示例,展示如何使用 `@OneToMany`、`@JoinColumn`、`@ManyToMany` 和 `@JoinTable` 等注解优雅地实现这些关系,帮助开发者保持代码简洁的同时确保数据一致性。
52 4
|
SQL XML Java
Hibernate框架【四】——基本映射——多对一和一对多映射
Hibernate框架【四】——基本映射——多对一和一对多映射
177 0
|
Java 数据库连接
hibernate一对多关系操作
hibernate一对多关系操作
167 1
hibernate一对多关系操作
|
XML Java 数据库连接
《Hibernate上课笔记》------class6------Hibernate实现一对多关联映射
《Hibernate上课笔记》------class6------Hibernate实现一对多关联映射
64 0
《Hibernate上课笔记》------class6------Hibernate实现一对多关联映射
|
Java 数据库连接
【OA】——hibernate映射关系编写技巧
【OA】——hibernate映射关系编写技巧
85 0
【OA】——hibernate映射关系编写技巧
|
存储 SQL Java
hibernate学习笔记之二(映射关系与懒加载)
hibernate学习笔记之二(映射关系与懒加载)
hibernate学习笔记之二(映射关系与懒加载)
|
XML Java 关系型数据库
hibernate里面的一对多关系映射
hibernate里面的一对多关系映射
113 0
|
存储 Java 数据库连接
【框架】[Hibernate]利用Hibernate进行一对多的级联操作-Web实例
【框架】[Hibernate]利用Hibernate进行一对多的级联操作-Web实例
184 0
【框架】[Hibernate]利用Hibernate进行一对多的级联操作-Web实例
|
Java 数据库连接 网络安全
【SSH快速进阶】——Hibernate 多对一映射 和 一对多映射
上两篇文章说了一对一映射,这里说一下多对一 和 一对多的映射情况。
【SSH快速进阶】——Hibernate 多对一映射 和 一对多映射
|
缓存 Java 数据库连接
Hibernate一对多关联的两个关键属性cascade和inverse(十一)
Hibernate一对多关联的两个关键属性cascade和inverse(十一)
127 0
Hibernate一对多关联的两个关键属性cascade和inverse(十一)