Hibernate 基础配置
Student对Class 双向多对一
注意Class里要有关于Student的set,而Student要有(Class属性)的属性。
Student对Class 双向多对一
注意Class里要有关于Student的set,而Student要有(Class属性)的属性。
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/test</property>
<property name="dialet">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.username">username</property>
<property name="connection.password">password</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="test/Student.hbm.xml"/>
<mapping resource="test/Class.hbm.xml"/>
<!--
create:表示启动的时候先drop,再create
create-drop: 也表示创建,只不过再系统关闭前执行一下
drop update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新
validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
-->
</session-factory>
</hibernate-configuration>
Student.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="test.Student" table="STUDENT">
<!-- 主键映射 -->
<id name="id" column="ID">
<generator class="assigned"></generator>
</id>
<!-- 属性映射 -->
<property name="name" column="NAME"></property>
<many-to-one name="classNumber" column="classNum"></many-to-one>
</class>
</hibernate-mapping>
Student.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="test.Student" table="STUDENT">
<!-- 主键映射 -->
<id name="id" column="ID">
<generator class="assigned"></generator>
</id>
<!-- 属性映射 -->
<property name="name" column="NAME"></property>
<many-to-one name="classNumber" column="classNum"></many-to-one>
</class>
</hibernate-mapping>