我有3个表的mysql数据库: 书籍-包含唯一ID; 评论-具有与书籍相关的外键; 销售-具有与书籍相关的外键。
Mysql Workbench正确显示了3个表的关系:
但是,当我在Intellij中创建新的休眠项目时,它无法识别外键,也无法在代码中实现它们:
Relations in Mysql Reverse Engineer
(注意:包括book_id复选框也无济于事)
生成项目后,在类别“ SalesEntity和” ReviewsEntity“中没有对应外键的属性:
生成的hibernate.cfg.xml文件:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://localhost:3306/mikodb</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<mapping class="com.BooksEntity"/>
<mapping class="com.ReviewsEntity"/>
<mapping class="com.SalesEntity"/>
<!-- DB schema will be updated if needed -->
<!-- <property name="hbm2ddl.auto">update</property> -->
</session-factory>
</hibernate-configuration>
当我尝试向现有项目添加Hibernate框架支持时,也会出现相同的情况。 是什么原因导致外键在数据库映射期间丢失?