[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]
[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]