DB Table REQUEST:
{
primary key REQUEST_ID,
String REQUEST_DETAILS
}
DB Table INVALID_REQUEST_DETAILS{
(foreign key, primary key) fk_req_id references REQUEST.REQUEST_ID,
String INVALID_COMMENTS,
String APPROVER_NAME
}
因此,您可以看到一个INVQUID_REQUEST_DETAILS有一个请求。由于某些我不理解的原因,我听说Hibernate将此映射为多对一关系。我的.hbm.xml文件的代码如下:
<hibernate-mapping>
<class name="InvalidRequestDetails" table="INVALID_REQUEST_DETAILS">
<id name="id" column="fk_req_id">
<generator class="foreign">
<param name="property">request</param>
</generator>
</id>
... (other column mappings omitted) ...
<many-to-one name="request" class="Request" unique="true" not-null="true" />
</class>
</hibernate-mapping>
请不要让我参考“阅读hibernate文档”,除非你也提供一些解释,它包含非常稀疏的概念解释,我已经阅读过了。我遇到的问题是我的映射文件显然是错误的,因为我无法在我的表中插入任何记录。
问题:
答案 0 :(得分:4)
不确定从哪里获取您的信息,但您当然可以将其建模为一对一。 Here's示例。
<hibernate-mapping>
<class name="InvalidRequestDetails" table="INVALID_REQUEST_DETAILS">
<id name="id" column="fk_req_id">
<generator class="foreign">
<param name="property">request</param>
</generator>
</id>
... (other column mappings omitted) ...
<one-to-one name="request" class="Request" constrained="true" />
</class>
</hibernate-mapping>