• hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件


    学习点:

    1  一对多映射,一方 Grade.hbm.xml的写法:

    <hibernate-mapping>
        <class name="com.ddwei.entity.Grade" table="grade">
            <id name="gid"   type="java.lang.Integer">
                <column name="GID" />
                <generator class="increment" />
            </id>
            <property name="gname" type="java.lang.String">
                <column name="GNAME" length="20" not-null="true"/>
            </property>
             
    <!--    配置单向的一对多关系 -->
            <set name="students" table="student">
    <!--         指定的外键列 -->
             <key column="gid">
             </key>
             <one-to-many class="com.ddwei.entity.Student"/>
            </set>
            </class>
    </hibernate-mapping>
    

     

    2    一对多映射,cfg.xml引入hbm路径方法

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost:3306/bendi?useUnicode=true&CharacterEncoding=utf8</property>
            <property name="connection.username">root</property>
            <property name="connection.password">***</property>
            <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
            
            <property name="show_sql">true</property>
            <property name="format_sql">true</property>
            <property name="hbm2ddl.auto">update</property>
            
            <mapping resource = "com/ddwei/entity/Grade.hbm.xml"/>        
            <mapping resource = "com/ddwei/entity/Student.hbm.xml"/>        
        </session-factory>
    </hibernate-configuration>

    3  一对多映射,一方java类引入多方方式

    package com.ddwei.entity;
    
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.Set;
    
    public class Grade {
        private int gid;
        private String gname;
        private String gdesc;
        
        //在一方定义多方的集合
        //一个班级有多个学生,且每个学生都是唯一的,所以用Set集合
        private Set<Student> student = new HashSet<Student>();
    
        public int getGid() {
            return gid;
        }
    
        public void setGid(int gid) {
            this.gid = gid;
        }
    
        public String getGname() {
            return gname;
        }
    
        public void setGname(String gname) {
            this.gname = gname;
        }
    
        public String getGdesc() {
            return gdesc;
        }
    
        public void setGdesc(String gdesc) {
            this.gdesc = gdesc;
        }
    
        public Set<Student> getStudent() {
            return student;
        }
    
        public void setStudent(Set<Student> student) {
            this.student = student;
        }
        
        
        public Grade(){
            super();
        }
    
        public Grade(int gid, String gname, String gdesc, Set<Student> student) {
            super();
            this.gid = gid;
            this.gname = gname;
            this.gdesc = gdesc;
            this.student = student;
        }
        
        
        
    
    }
  • 相关阅读:
    Java transient 关键字
    Android学习资料收集
    mac 关闭&&显示隐藏文件命令
    Android 学习资源收集
    Android Studio 快捷键
    Volley框架使用笔记
    Jni :三维数组处理方法 ,以整形三维数组为例 C++实现
    Git使用- 基本命令
    Jni 调试 : eclipse + Vs 联合调试
    Java 调用 C++ (Java 调用 dll)康哥手把手教你
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/8552868.html
Copyright © 2020-2023  润新知