deleteAll()方法出现异常,Batch update returned unexpected row ……,并发的问题?

daizhe 2011-07-14 08:17:53
sql server数据库,主键是自增int,spring管理hibernate
spring配置文件

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url" value="jdbc:microsoft:sqlserver://localhost:1433">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>cn/tpexam/model/Tpexamtmp.hbm.xml</value>
</property>
</bean>

id主键生成器是native

代码继承了HibernateDaoSupport
出错的地方这样写的:

try {
this.getHibernateTemplate().deleteAll(list);
return true;
} catch (RuntimeException e) {
logger.error("deleteAll entity err:" , e);
throw e;
}

就在deleteAll处出的异常,list是通过getHibernateTemplate().find(hql);方法查到的List,在删除之前对这个表只有查询,没有保存更新插入等操作

而且这个异常似乎只有在多个页面同时访问时容易出现,跟并发有关系?

在网上找的都是update或者出现一对多的情况,删除时异常到底的什么原因呢?
...全文
378 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
daizhe 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaona1047985204 的回复:]

仔细检查一下你的配置吧,以前我也经常出这样的问题
[/Quote]

可能出错的地方有哪些?能说的具体点不?
xiaona1047985204 2011-07-15
  • 打赏
  • 举报
回复
仔细检查一下你的配置吧,以前我也经常出这样的问题
daizhe 2011-07-15
  • 打赏
  • 举报
回复
顶上来,大家早上好!
daizhe 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xianaofei 的回复:]

报什么错误啊,你注意一下session别手动关闭了
[/Quote]

异常忘粘了
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

没有关session
xianaofei 2011-07-14
  • 打赏
  • 举报
回复
报什么错误啊,你注意一下session别手动关闭了
福来哥 2011-07-14
  • 打赏
  • 举报
回复
1,检查数据库中的数据,看是否存在原来就不符合主外键关系的数据。
2,确保list集合中的数据均为持久状态。
daizhe 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 goodsun00 的回复:]

方法体有问题~~
[/Quote]

哪里?什么意思?能具体点不?
goodsun00 2011-07-14
  • 打赏
  • 举报
回复
方法体有问题~~

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧