jar包在classpath中的顺序导致hibernate的问题

[size=12]两个应用, 内部代码基本完全一样:
[code]HibernateTemplate template = getHibernateTemplate();
template.delete("from RoleOrgtype o where o.roleId = "+vo.getId());[/code]

一个应用执行删除操作没有问题, 但是另一个在执行删除操作的时候出现下面的错误
org.springframework.orm.hibernate.HibernateSystemException: No persister for: java.lang.String; nested exception is net.sf.hibernate.MappingException: No persister for: java.lang.String
net.sf.hibernate.MappingException: No persister for: java.lang.String

google也没有发现有人碰到我这样的问题, 后来通过仔细检查,然后是二者的template类型是不同的, 一个是:
int org.springframework.orm.hibernate.HibernateTemplate.delete(String queryString) throws DataAccessException
一个是:
void org.springframework.orm.hibernate.HibernateTemplate.delete(Object entity) throws DataAccessException

因此问题迎刃而解了, 在eclipse中调整java class path的order, 原来正确的应用中spring.jar在spring-orm.jar的下面[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值