gpt4 book ai didi

java - 逆向工程和与 Hibernate 的关系

转载 作者:行者123 更新时间:2023-11-30 22:45:58 25 4
gpt4 key购买 nike

我无法解决的问题如下:

我创建了一个 MySQL 数据库和一个与之交互的 java 项目。我正在使用 Hibernate 来管理持久性。该数据库由两个表组成,这两个表通过第三个表处于多对多关系。

当我执行 revense 操作时,然后是自下而上的方法,Hibernate 不处理表之间的关系,生成独立的类而不考虑外键。

我声明我在 OS X 下工作并使用 Eclipse Kepler IDE。 Hibernate生成的一个hbm文件如下:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 13-apr-2015 14.16.34 by Hibernate Tools 4.0.0 -->
<hibernate-mapping>
<class name="Esame" table="Esame" catalog="esercitazione2">
<composite-id name="id" class="EsameId">
<key-property name="matricola" type="int">
<column name="matricola" />
</key-property>
<key-property name="idmateria" type="int">
<column name="idmateria" />
</key-property>
</composite-id>
<property name="voto" type="java.lang.Integer">
<column name="voto" />
</property>
<property name="data" type="date">
<column name="data" length="10" />
</property>
</class>
</hibernate-mapping>

什么时候应该:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 2-apr-2015 16.13.37 by Hibernate Tools 4.0.0 -->
<hibernate-mapping>
<class name="it.esercitazione.Esame" table="Esame" catalog="esercitazione2">
<composite-id name="id" class="it.esercitazione.EsameId">
<key-property name="matricola" type="int">
<column name="matricola" />
</key-property>
<key-property name="idmateria" type="int">
<column name="idmateria" />
</key-property>
</composite-id>

<!-- missing -->
<many-to-one name="materia" class="it.esercitazione.Materia" update="false" insert="false" fetch="select">
<column name="idmateria" not-null="true" />
</many-to-one>
<many-to-one name="studente" class="it.esercitazione.Studente" update="false" insert="false" fetch="select">
<column name="matricola" not-null="true" />
</many-to-one>

<property name="voto" type="java.lang.Integer">
<column name="voto" />
</property>
<property name="data" type="date">
<column name="data" length="10" />
</property>
</class>
</hibernate-mapping>

如您所见,Hibernate 没有考虑多对一关系。我该如何解决?

最佳答案

我解决了。表的名称应以小写形式书写。

关于java - 逆向工程和与 Hibernate 的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29605842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com