使用hibernate的saveOrUpdate方法,数据库没有相同主键时插入的时候没有问题,但是有相同主键应该调用update的时候却出现
ORA-00001: unique constraint (CSGL.SYS_C0075080) violated异常,hibernate配置 <class name="com.git.eteller.dbaccess.Pdprdinfo" table="PDPRDINFO" schema="CSGL">
<id name="prdCode" type="java.lang.String">
<column name="PRD_CODE" length="7" />
<generator class="assigned" />
</id>
<property name="prdName" type="java.lang.String">
<column name="PRD_NAME" length="40" not-null="true" />
</property>
ORA-00001: unique constraint (CSGL.SYS_C0075080) violated异常,hibernate配置 <class name="com.git.eteller.dbaccess.Pdprdinfo" table="PDPRDINFO" schema="CSGL">
<id name="prdCode" type="java.lang.String">
<column name="PRD_CODE" length="7" />
<generator class="assigned" />
</id>
<property name="prdName" type="java.lang.String">
<column name="PRD_NAME" length="40" not-null="true" />
</property>
要保存和更新到数据库不是使用这个方法,而多使用类似如下:
class DAOImpl extends HibernateDaoSupport{
public void saveEntity(Entity entity) {
this.getHibernateTemplate().save(entity);
}
public void updateEntity(Entity entity) {
this.getHibernateTemplate().update(entity);
}
}
这帖子有关于saveOrUpdate的用法,楼主可以看下。http://www.iteye.com/topic/2632