Java 从hibernate映射文件生成DDL
下面的hibernate映射文件按预期生成java类和DEPARTMENT表,但它没有在DB中创建DPT_教师表,为什么不呢Java 从hibernate映射文件生成DDL,java,database,hibernate-mapping,Java,Database,Hibernate Mapping,下面的hibernate映射文件按预期生成java类和DEPARTMENT表,但它没有在DB中创建DPT_教师表,为什么不呢 <hibernate-mapping> <class name="hibernate.Department" table="DEPARTMENT"> <id name="id" column="ID"> <generator class="native"/> &
<hibernate-mapping>
<class name="hibernate.Department" table="DEPARTMENT">
<id name="id" column="ID">
<generator class="native"/>
</id>
<property name="subject" column="SUBJECT" type="string"/>
<set name="teachers" table="DPT_TEACHERS">
<key column="ID"/>
<one-to-many class="hibernate.Teacher"/>
</set>
</class>
</hibernate-mapping>
您需要添加属性 hibernate.hbm2ddl.auto 使用hibernate.cfg.xml中的数据库连接属性自动创建模式
<property name="hibernate.hbm2ddl.auto">create</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/Test?createDatabaseIfNotExist=true</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="connection.pool_size">10</property>
创建
com.mysql.jdbc.Driver
jdbc:mysql://localhost/Test?createDatabaseIfNotExist=true
根
10
table=“DPT\U教师”不是必需的。不需要另一个表来创建1:N关系。key column=“ID”容易混淆,它应该是key column=“TEACHER\u ID”,以便可以作为1:N关系添加到TEACHER表中