Hibernate 双向配置

来源:互联网 发布:为知笔记积分 编辑:程序博客网 时间:2024/04/29 15:30

一对多的双向
一对多指的是类与集合之间的关系
多对一指的是类与类之间的关系

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "src/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <class name="com.sanmao.utils.Classes">        <id name="cid" length="5">            <generator class="identity"></generator>        </id>        <property name="name" length="20"></property>        <property name="description" length="20"></property>        <!--set 是一个集合-->        <!--name是属性名称                       cascade 级联                       在保存或者更新classes的时候,对Student进行操作                         inverse  是否维护关系 :classes是否维护classes与student之间的关系                         关系操作                 true   不维护关系                 false  维护关系                 default:false        -->        <!--inverse不写入主键-->        <set name="students" cascade="save-update" inverse="false">            <!--外键-->            <!--hibernate 内部会通过外键生产SQL语句-->            <key>                <column name="cid"></column>            </key>            <!--建立了对象与对象之间的关联-->            <one-to-many class="com.sanmao.utils.Student"></one-to-many>        </set>    </class></hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "src/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <class name="com.sanmao.utils.Student">        <id name="sid" length="5" >            <generator class="identity"></generator>        </id>        <property name="name" length="20"></property>        <property name="description" length="20"></property>        <!--               column 代表外键               Student 通过cid “了解”  它与classes的关系        -->        <!--一对多的双向-->        <!--一对多指的是类与集合之间的关系-->        <!--多对一指的是类与类之间的关系-->        <many-to-one name="classes" class="com.sanmao.utils.Classes"        column="cid" cascade="save-update"></many-to-one>    </class></hibernate-mapping>
<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD//EN"        "src/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration>    <session-factory>        <property name="connection.url">jdbc:mysql://localhost:3306/itheima?characterEncoding=UTF-8</property>        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="connection.password">1234</property>        <property name="connection.username">root</property>        <property name="dialect">            org.hibernate.dialect.MySQLDialect         </property>        <property name="hbm2ddl.auto">update</property>        <property name="show_sql">true</property>        <property name="format_sql">true</property>        <property name="current_session_context_class">thread</property>        <mapping resource="com/sanmao/utils/Classes.hbm.xml"></mapping>        <mapping resource="com/sanmao/utils/Student.hbm.xml"></mapping>    </session-factory></hibernate-configuration>
package com.sanmao.utils;import java.io.Serializable;import java.util.Set;/** * Created by root on 16-9-20. */public class Classes implements Serializable{    private Long cid;    private String name;    private String description;    private Set<Student> students;    public Long getCid() {        return cid;    }    public void setCid(Long cid) {        this.cid = cid;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getDescription() {        return description;    }    public void setDescription(String description) {        this.description = description;    }    public Set<Student> getStudents() {        return students;    }    public void setStudents(Set<Student> students) {        this.students = students;    }}
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "src/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <class name="com.sanmao.utils.Student">        <id name="sid" length="5" >            <generator class="identity"></generator>        </id>        <property name="name" length="20"></property>        <property name="description" length="20"></property>        <!--               column 代表外键               Student 通过cid “了解”  它与classes的关系        -->        <!--一对多的双向-->        <!--一对多指的是类与集合之间的关系-->        <!--多对一指的是类与类之间的关系-->        <many-to-one name="classes" class="com.sanmao.utils.Classes"        column="cid" cascade="save-update"></many-to-one>    </class></hibernate-mapping>
0 0
原创粉丝点击