【发布时间】:2014-01-05 01:19:23
【问题描述】:
我有两个实体:技术和能力
每个能力可以有 1 个或多个 Techno
所以我已经通过 Hibernate 生成了类
他给了我 3 个班级模型
Technologie
Competence
TechnologieId
现在我对如何添加技术感到困惑
TechnoligieId 的意义何在?
Technologie.java
public class Technologie implements java.io.Serializable {
private TechnologieId id;
private Competence competence;
private String libelleTechnologie;
}
TechnologieId.java
public class TechnologieId implements java.io.Serializable {
private int idCompetence;
private int idTechnologie;
}
技术.hbm.xml
<class name="com.model.Technologie" table="technologie" catalog="gestioncollaborateur">
<composite-id name="id" class="com.model.TechnologieId">
<key-property name="idCompetence" type="int">
<column name="idCompetence" />
</key-property>
<key-property name="idTechnologie" type="int">
<column name="idTechnologie" />
</key-property>
</composite-id>
<many-to-one name="competence" class="com.model.Competence" update="false" insert="false" fetch="select">
<column name="idCompetence" not-null="true" />
</many-to-one>
<property name="libelleTechnologie" type="string">
<column name="libelleTechnologie" length="254" />
</property>
</class>
【问题讨论】:
-
您有第三个类/表,因为它使用 n:n 映射。现在每种能力都可以拥有多种技术,每种技术都可以拥有多种能力(这对我来说很有意义)
-
是的,但是我如何添加新的技术,每次我需要创建新的技术时,我需要创建新的技术ID
-
您是否尝试过添加新的技术?您尝试了什么,什么有效,什么无效?
-
不,我只需要知道我是否必须为 TechnologieId 创建一个类 Dao 和服务
-
你能发布表定义吗,你是用 Hibernate 工具生成模型的吗?
标签: java hibernate jakarta-ee