今天新同事遇到一个异常,通过如下方法做一个单元测试:
/**
* 通过HQL语句,取得该条件下的记录数量
* @param hql
* @return
*/
public Long getCountByQueryString(final String hql) {
return (Long) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query = session.createQuery(hql);
return query.uniqueResult();
}
});
}
因为原来的注释没有这么明确指出是用HQL入参,所有同事写了SQL执行查询,结果报错:
org.springframework.orm.hibernate3.HibernateQueryException: T_CC_L3_4S_Info is not mapped;
我看了下,猜到应当是SQL与HQL的不同导致的,于是,我换了成HQL查询:
String hql = "select count(*) from FoursInfo "。
结果还是报错:
org.springframework.orm.hibernate3.HibernateQueryException: FoursInfo is not mapped;
查了好一会,才发现表:T_CC_L3_4S_Info,对应的实体Bean是 FoursShopInfo ,而FoursInfo 是接口的Bean,
而且没有对应关系表导致。
从这件小事,我们应该吸取教训,不要想当然的以为表的名称和实体bean名称一致,当然,我们还是尽量保持表名和实体类命名的一致,这样才符合Java规范:见名知意!
分享到:
相关推荐
### 关于 "org.springframework.orm.hibernate3.LocalSessionFactoryBean" 未找到问题的知识点解析 #### 一、问题背景 在开发基于Spring与Hibernate整合的应用时,可能会遇到“`org.springframework.orm.hibernate...
org.springframework.orm-3.0.4.RELEASE.jar org.springframework.oxm-3.0.4.RELEASE.jar org.springframework.spring-library-3.0.4.RELEASE.libd org.springframework.test-3.0.4.RELEASE.jar org.spring...
标题中的"org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException"是一个具体的异常类型,源自Spring框架的Hibernate4模块。这个异常通常在乐观锁(Optimistic Locking)机制失败时抛出,...
org.springframework.orm-3.0.0.M1.jar
org.springframework.orm-3.0.5.RELEASE.jar org.springframework.oxm-3.0.5.RELEASE.jar org.springframework.test-3.0.5.RELEASE.jar org.springframework.transaction-3.0.5.RELEASE.jar org.springframework.web...
org.springframework.orm-3.1.RELEASE.jar org.springframework.oxm-3.1.RELEASE.jar org.springframework.spring-library-3.1.RELEASE.libd org.springframework.test-3.1.RELEASE.jar org.springframework....
org.springframework.orm-3.1.1.RELEASE org.springframework.oxm-3.1.1.RELEASE org.springframework.test-3.1.1.RELEASE org.springframework.transaction-3.1.1.RELEASE org.springframework.web.portlet-3.1.1....
org.springframework.orm-3.1.0.M2
其中,`org.springframework.orm.jar`是Spring框架中的一个子模块,主要关注对象关系映射(ORM)集成,使得Java应用程序能够方便地与各种数据库进行交互。本文将深入探讨Spring ORM模块的核心概念、功能以及实际应用...
org.springframework.beans-3.0.0.M4.jar
org.springframework.orm-3.0.0.RELEASE.jar org.springframework.oxm-3.0.0.RELEASE.jar org.springframework.test-3.0.0.RELEASE.jar org.springframework.transaction-3.0.0.RELEASE.jar org.springframework.web...
org.springframework.orm-3.0.0.M4.jar
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> ``` 2. **使用 `@Transactional` 注解**: 在Service层或具体的业务逻辑方法上添加 `@...
org.springframework.orm-3.0.0.RELEASE org.springframework.oxm-3.0.0.RELEASE org.springframework.spring-library-3.0.0.RELEASE org.springframework.test-3.0.0.RELEASE org.springframework.transaction-...
当执行查询操作时,如果根据指定的ID没有找到对应的实体对象,Hibernate会抛出 `org.springframework.orm.ObjectRetrievalFailureException` 异常。例如,在以下场景中: ``` org.springframework.orm....
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <value>classpath:SqlMapConfig.xml <bean id="dao" class="org.springframework.orm.ibatis....
org.springframework.instrument-3.0.5.RELEASE.jar,org.springframework.jdbc-3.0.5.RELEASE.jar,org.springframework.jms-3.0.5.RELEASE.jar,org.springframework.orm-3.0.5.RELEASE.jar,org.springframework....
org.springframework.orm-3.0.0.M4.jar: 整合第三方的ORM框架,如hibernate,ibatis,jdo,以及spring的JPA实现 org.springframework.transaction-3.0.0.M4.jar: 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和...
org.springframework.orm-3.1.0.RELEASE.jar org.springframework.oxm-3.1.0.RELEASE.jar org.springframework.test-3.1.0.RELEASE.jar org.springframework.transaction-3.1.0.RELEASE.jar org.springframework.web...
org.springframework.orm-3.0.1.jar