使用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>
数据库的表:
下面就是我遇到的问题
在使用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>
数据库的表:
相关文章推荐
- Hibernate之——使用SchemaExport类自动创建数据库表
- hibernate框架自动创建数据库表格
- 使用hibernate根据配置的实体bean类无法自动创建数据库表
- 使用MiddleGen 产生hibernate的数据库表映射文件
- 以实例说明如何使用C#从数据库中提取数据,按要求自动生成定制的Excel表格?
- 利用hibernate反向自动创建数据库
- 使用hibernate自动生成数据库表
- 使用Hibernate自动生成表不能正确创建表的问题
- Hibernate自动创建数据库表
- ASP.NET基础教程-Web 自定义控件的使用-根据属性值从数据库中提取数据并在页面上自动生成一个表格
- hibernate 使用连接池连接数据库时 自动断开处理
- 使用MiddleGen 产生hibernate的数据库表映射文件
- 使用hibernate的SchemaExport来创建数据库
- 使用Hibernate-tools中的hbm2java和hbm2ddl根据hbm文件自动生成pojo和数据库脚本
- 在Eclipse中使用Hibernate插件 ******产生数据库中的表
- 使用MiddleGen 产生hibernate的数据库表映射文件-JSP教程,数据库相关
- 使用MiddleGen 产生hibernate的数据库表映射文件
- Hibernate 自动根据映射创建数据库表
- 使用hibernate自动在MYSQL中创建表,极其简单,改下配置文件。
- 使用Setup Factory 8.0 打包软件,安装时自动创建数据库