一个复杂hibernate映射文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping>

<class
name="example.Element"
table="T_ELEMENT"
dynamic-update="true"
dynamic-insert="true"
lazy="false">

<id
name="listId"
type="java.lang.Long"
column="LIST_ID">
<generator class="sequence">
<param name="sequence">S_ELEMENT_ID</param>
</generator>
</id>

<property
name="name"
type="java.lang.String"
column="NAME"
length="50"/>
<!--
Node类是Element类的子类,这是遵循table per subclass的继承映射方法
-->
<joined-subclass name="example.Node"
table="T_NODE" lazy="false">

<key column="LIST_ID" />

<!--
Node类的父节点是自身类型
-->
<many-to-one
name="parentNode"<!--映射类中的父节点字段-->
cascade="none"
outer-join="false">

<column
name="PARENT_ID"<!--指向父节点的外键-->
not-null="false"/>

</many-to-one>

<!--
Node类的子节点也是自身类型,
-->
<set
name="childNodes"<!--映射类中的所有子节点字段-->
cascade="all-delete-orphan"
inverse="true"
lazy="true"
batch-size="10"<!--这个属性可以提高性能,若没有设置,则hibernate一次只会取一条-->
>

<key column="PARENT_ID"/>
<one-to-many class="example.Node"/>

</set>

</joined-subclass>

</class>
</hibernate-mapping>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值