读书人

Hibernate的异常net.sf.hibernate.Pro

发布时间: 2014-01-26 14:37:56 作者: rapoo

数据库表:T_users ,T_groups ,T_modules
对应的XML:Tuser.hbm.xml,Tgroup.hbm.xml,Tmodule.hbm.xml
关系:user<—>group 是一对一的关系,group<—>module是一对多的关系
即,一个用户从属于一个群组,一个群组下包含多个功能模块

Tuser.hbm.xml的部分配置:

<!-- Associations -->
<one-to-one
name="group"
class="com.wzr.spring.bean.Group"
cascade="none"
outer-join="auto"
constrained="false"
/>

Tgroup.hbm.xml的部分配置:

<!-- Associations -->
<set
name="modules"
table="t_modules"
lazy="false"
inverse="true"
cascade="all"
sort="unshorted"
order-by="module_order asc"
>
<key
column="group_id"
/>
<one-to-many
class="com.wzr.spring.bean.Module"/>
</set>

Tmodule.hbm.xml的部分配置:

<!-- Associations -->
<many-to-one
name="group"
class="com.wzr.spring.bean.Group"
cascade="none"
outer-join="auto"
update="true"
insert="true"
access="property"
column="group_id"
not-null="true"
/>

使用Middlegen生成POJO,后在Junit中的测试代码如下:

public void testInsert()throws Exception{
Transaction tx=null;
String hql="from Group where group_id='G000000001'";
try{
tx = session.beginTransaction();
List groupList=session.find(hql);
Group group=(Group)groupList.get(0);
Module module=new Module();         

读书人网 >Java Exception

热点推荐