hibernate之映射关系多对多

简介: 前言:多对多就是一对多的分子,当多对多不能符合完整性约束是,就产生了一对多的关系,需要中间表来完成映射多对多关系   注意配置:    1、多对多配置双方都是set集合同时指向中间表的字段  代码:   1、sql语句    create table t_user(      u_id varchar(255),      u_name varchar(255),     
前言:多对多就是一对多的分子,当多对多不能符合完整性约束是,就产生了一对多的关系,需要中间表来完成映射多对多关系
  注意配置:
   1、多对多配置双方都是set集合同时指向中间表的字段
 代码:
  1、sql语句
   create table t_user(
     u_id varchar(255),
     u_name varchar(255),
     u_age Integer,
     u_price double(5,2),
     primary key(u_id)
    );
    
    create table t_user_class(
     uc_id varchar(255),
     uc_classNo Integer,
     uc_funds double(5,2),
     uc_back varchar(255),
     primary key(uc_id)
    );
    
    create table t_user_reference(
     u_id varchar(255),
     uc_id varchar(255)
    );
 2、java类
 
  public class UserClass {
 
   private  String id;
   private Integer classNo;
   private double funds;
   private String back;
   private Set<UserT> users=new HashSet<UserT>();
   
  public class UserT  implements Serializable{
  
   private String id;
   public String name;
   private Integer age;
   private double price;
   private Set<UserClass> usercs=new HashSet<UserClass>();
   
 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">
        <class name="UserClass" table="t_user_class">
            <id name="id" column="uc_id"/>
            <property name="classNo" column="uc_classNo"/>
            <property name="funds" column="uc_funds"/>
            <property name="back" column="uc_back"/>
            <set name="users" table="t_user_reference" cascade="all">
             <key column="u_id"></key>
             <many-to-many class="UserT" column="uc_id"></many-to-many>
            </set>
        </class>
    </hibernate-mapping>
    
    <?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"/>
             <set name="usercs" table="t_user_reference" cascade="all">
              <key column="uc_id"></key> 
              <many-to-many class="UserClass" column="u_id"></many-to-many>
             </set>
         </class>
     </hibernate-mapping>
目录
相关文章
|
5月前
|
Java 数据库连接 API
解锁高效开发秘籍:深入探究 Hibernate 如何优雅处理一对多与多对多关系,让数据映射再无烦恼!
【9月更文挑战第3天】Hibernate 是 Java 领域中最流行的 ORM 框架之一,广泛用于处理实体对象与数据库表之间的映射。尤其在处理复杂关系如一对多和多对多时,Hibernate 提供了丰富的 API 和配置选项。本文通过具体代码示例,展示如何使用 `@OneToMany`、`@JoinColumn`、`@ManyToMany` 和 `@JoinTable` 等注解优雅地实现这些关系,帮助开发者保持代码简洁的同时确保数据一致性。
104 4
|
6月前
|
Java 数据库连接 数据库
AI 时代风起云涌,Hibernate 实体映射引领数据库高效之路,最佳实践与陷阱全解析!
【8月更文挑战第31天】Hibernate 是一款强大的 Java 持久化框架,可将 Java 对象映射到关系数据库表中。本文通过代码示例详细介绍了 Hibernate 实体映射的最佳实践,包括合理使用关联映射(如 `@OneToMany` 和 `@ManyToOne`)以及正确处理继承关系(如单表继承)。此外,还探讨了常见陷阱,例如循环依赖可能导致的无限递归问题,并提供了使用 `@JsonIgnore` 等注解来避免此类问题的方法。通过遵循这些最佳实践,可以显著提升开发效率和数据库操作性能。
112 0
|
6月前
|
数据库 开发者 Java
Hibernate映射注解的魔力:实体类配置的革命,让你的代码量瞬间蒸发!
【8月更文挑战第31天】Hibernate 是一款出色的对象关系映射框架,简化了 Java 应用与数据库的交互。其映射注解让实体类配置变得直观简洁。本文深入剖析核心概念与使用技巧,通过示例展示如何简化配置。
75 0
|
9月前
|
Java 数据库连接 数据库
hibernate多对多、正向工程创建数据表——访问温馨提示
hibernate多对多、正向工程创建数据表——访问温馨提示
|
SQL XML 存储
Hibernate框架【五】——基本映射——多对多映射
Hibernate框架【五】——基本映射——多对多映射
222 0
|
9月前
|
缓存 Java 数据库连接
Hibernate或MyBatis:ORM映射、缓存机制等知识讲解梳理
Hibernate或MyBatis:ORM映射、缓存机制等知识讲解梳理
158 0
|
9月前
|
Java 数据库连接 数据库
Hibernate5中实体映射命名策略
Hibernate5中实体映射命名策略
165 0
|
9月前
|
SQL 存储 Java
Hibernate - 继承关联关系映射
Hibernate - 继承关联关系映射
83 0
|
9月前
|
机器学习/深度学习 SQL Java
Hibernate - 多对多关联关系映射
Hibernate - 多对多关联关系映射
78 0
|
9月前
|
SQL Java 关系型数据库
Hibernate - Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系
Hibernate - Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系
96 0