您的位置:首页 > 数据库

使用hibernate自动创建数据库表格为啥产生两个中间表

2016-10-15 16:43 357 查看
对于菜鸟级的我们来说,总会遇到自己结局不了的问题,在这尴尬的时候,也只有呼叫大神啦









下面就是我遇到的问题

在使用hibernate过程中,感觉简单了好多,但也有一些地方不是那么的得心应手,本人在使用hibernate过程中多对多关联中使用hibernate自动创建表,但是发现中间表多创建了一张,一直不知怎么搞了,请求大神们指点迷津


hiberbate.cfg.xml配置

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/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/javaeedb</property>

    <property name="connection.username">root</property>

    <property name="connection.password">123456</property>

    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

    <property name="hibernate.hbm2ddl.auto">create</property> 

    <property name="show_sql">true</property>

    <mapping resource="com/model/Course.hbm.xml"></mapping>

    <mapping resource="com/model/Teacher.hbm.xml"></mapping>

    </session-factory>

</hibernate-configuration>
Teacher.hbm.xml配置

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="com.model.Teacher" table="teacher">

        <id column="id" name="id">

            <generator class="identity">

            </generator>

        </id>

        <property name="name" column="name"></property>

        

        <set name="couSet"  cascade="all">

            <key column="teacher_id"></key>

            <many-to-many class="com.model.Course" column="course_id"/>

        </set>

        

    </class>


</hibernate-mapping>

Course.hbm.xml配置


<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="com.model.Course" table="course">

        <id column="id" name="id">

            <generator class="identity">

            </generator>

        </id>

        <property name="name" column="name"></property>

        <!-- inverse="true" cascade="all" -->

        <set name="teaSet"  cascade="all" >

            <key column="course_id"></key>

            <many-to-many class="com.model.Teacher" column="teacher_id"/>

        </set>

        

    </class>

</hibernate-mapping>

数据库的表:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: