关闭

Hibernate标签总结

标签: hibernateJavaWeb
199人阅读 评论(0) 收藏 举报

普通属性:

单行
<property name="属性名" type="属性简单类型" column="字段名" not-null="true/false"/>

多行
<property name="属性名" type="属性简单类型">
<column name="字段名" not-null="xxx"/>
</property>

多对一:

单行
<many-to-one name="属性名" class="属性类" column="外键字段名" not-null="true/false"/>

多行
<many-to-one name="属性名" class="属性类">
<column name="外键字段名" not-null="true/false"/>
</many-to-one>

一对多:

<set name="属性名" cascade="delete" inverse="true">
<key column="外键字段名" />
<one-to-many class="对方关联类"/>
</set>

多对多:

<set name="属性名" table="中间表名">
<key column="中间表中*自己*的外键字段名" />
<many-to-many column="中间表中*对方*的外键字段名" class="对方关联类" />
</set>

=============================================================================================================

多对一:
在多的一方保存、更新时,一的一方会级联的保存、更新,但删除例外
为了避免异常,多的一方的级联操作一般不写

一对多:在实体类用Set集合,映射文件hbm.xml中
<set name="属性名" cascade="级联操作">
<key column="外键字段名" />
<one-to-many class="对方关联类"/>


只有在一的一方删除时,多的一方会级联的删除,其他操作无效

只有多对一 = 单向关联
多对一 + 一对多 = 双向关联

多对多:双方实体都用Set集合,映射文件hbm.xml中
<set name="属性名" table="中间表名">
<key column="中间表中*自己*的外键字段名" />
<many-to-many column="中间表中*对方*的外键字段名" class="对方关联类" />
</set>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16330次
    • 积分:509
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论