我对hibernate映射感到有点困惑。
以下映射是否会建立父子关系。:
<many-to-one name="courseId" column="courseid" insert="true" lazy="false"> </many-to-one>
或
<many-to-one name="courseId" class="com.xxx.client.vo.CourseMasterVO" lazy="false" insert="true" cascade="all">
<column name="courseId_Id" not-null="false" />
</many-to-one>
哪一个是正确的,如果两者都正确,那么我可以互换使用它们。
答案 0 :(得分:1)
您可以互换使用它们。 <dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-7.0</artifactId>
<version>1.0.3.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
元素仅用于向列中添加其他参数,例如column
或index
约束。如果您只有not-null
,则可以将其放入name
元素的column
属性中。
评论:
小心单端属性的lazy属性。然后默认为False(与实体和集合上的延迟相反)。此功能控制属性方式的延迟加载,仅在包含该属性的类是代理时才有效。
小心插入。使用它时,你应该真的知道自己在做什么。它不适用于常规的Hibernate使用,它可以解决特殊情况(应该避免)。