读书人

Hibernate的unique=quot;truequot;无效,该怎么

发布时间: 2012-03-15 11:50:38 作者: rapoo

Hibernate的unique="true"无效
小弟最近研究hibernate,遇到下面的迷惑,请大虾指教下

<hibernate-mapping>
<class name="ssj.Person" table="PERSON" schema="SSJ">
<id name="personid" type="java.lang.Integer">
<column name="PERSONID" precision="22" scale="0" />
<generator class="assigned"></generator>
</id>
<many-to-one name="addressid" column="ADDRESSID" class="ssj.Address"
unique="true" not-null="true">
</many-to-one>
</class>
</hibernate-mapping>

Test类
Address add=new Address();
Person per1=new Person();
Person per2=new Person();
add.setAddressid(1);
per1.setPersonid(11);
per2.setPersonid(12);
per1.setAddressid(add);
per2.setAddressid(add);
Session se=HibernateSessionFactory.getSession();
Transaction tx=se.beginTransaction();
se.save(add);
se.save(per1);
se.save(per2);
tx.commit();
se.close();

为什么执行能通过?

<many-to-one name="addressid" column="ADDRESSID" class="ssj.Address"
unique="true" not-null="true">
</many-to-one>
中已经指明了unique="true",为什么不报唯一值约束的错误?


[解决办法]
se.save(add);
se.save(per1);
se.save(per2);

只会处理se.save(per2); 这就是 事物的概念
[解决办法]

Java code
<many-to-one name="addressid" column="ADDRESSID" class="ssj.Address"  unique="true" not-null="true"></many-to-one> 

读书人网 >J2EE开发

热点推荐