一个奇怪的异常,SSH使用注解方式
2015-03-31 10:58
561 查看
异常信息如下
附上源码
最奇怪的地方就是
name属性试了好几个annotatedClasses,annotatedPackages,packagesToScan
只有annotatedClasses的时候,value给类名称,不出异常。
annotatedPackages,packagesToScan给包名cn.pb.jbit.tcjc034.entity都提示找不到类,报了异常
= =哪里出的错啊= =
Exception in thread "main" org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: cn.pb.jbit.tcjc034.entity.Director; nested exception is org.hibernate.MappingException: Unknown entity: cn.pb.jbit.tcjc034.entity.Director at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:512) at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:506) at cn.pb.jbit.tcjc034.dir.dao.impl.DirDaoImpl.queryDirectorById(DirDaoImpl.java:36) at cn.pb.jbit.tcjc034.test.Test.main(Test.java:15) Caused by: org.hibernate.MappingException: Unknown entity: cn.pb.jbit.tcjc034.entity.Director at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:906) at org.hibernate.impl.SessionImpl.get(SessionImpl.java:843) at org.hibernate.impl.SessionImpl.get(SessionImpl.java:836) at org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:519) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406) ... 5 more
附上源码
package cn.pb.jbit.tcjc034.test; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import cn.pb.jbit.tcjc034.dir.dao.DirDao; public class Test { public static void main(String[] args) { BeanFactory factory = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); DirDao dao=(DirDao)factory.getBean("ddao"); System.out.println(dao.queryDirectorById(2)); } }
package cn.pb.jbit.tcjc034.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name="Director") @SequenceGenerator(name="dir",sequenceName="seq_dir_dirid") public class Director implements java.io.Serializable { // Fields private int dirid; private String dirname; // Property accessors @Id @GeneratedValue(generator="dir") public int getDirid() { return this.dirid; } public void setDirid(int dirid) { this.dirid = dirid; } public String getDirname() { return this.dirname; } public void setDirname(String dirname) { this.dirname = dirname; } }
package cn.pb.jbit.tcjc034.dir.dao; import java.util.List; import cn.pb.jbit.tcjc034.entity.Director; public interface DirDao { public void addDirector(Director director); public void deleteDirector(int id); public void updateDirector(); public Director queryDirectorById(int id); public List<Director> queryAllDirector(); }
package cn.pb.jbit.tcjc034.dir.dao.impl; import java.util.List; import javax.annotation.Resource; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.stereotype.Repository; import cn.pb.jbit.tcjc034.dir.dao.DirDao; import cn.pb.jbit.tcjc034.entity.Director; @Repository("ddao") public class DirDaoImpl extends HibernateDaoSupport implements DirDao { @Resource public void setSessionFacotry(SessionFactory sessionFacotry) { super.setSessionFactory(sessionFacotry); } public void addDirector(Director director) { // TODO Auto-generated method stub } public void deleteDirector(int id) { // TODO Auto-generated method stub } public List<Director> queryAllDirector() { // TODO Auto-generated method stub return null; } public Director queryDirectorById(int id) { // TODO Auto-generated method stub return (Director) this.getHibernateTemplate().get(Director.class, id); } public void updateDirector() { // TODO Auto-generated method stub } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config /> <context:component-scan base-package="cn.pb.jbit.tcjc034"></context:component-scan> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <property name="url" value="jdbc:oracle:thin:@172.25.24.214:1521:orcl"> </property> <property name="username" value="tuzki"></property> <property name="password" value="orcl"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop> </props> </property> <property name="annotatedClasses"> <list> <value> cn.pb.jbit.tcjc034.entity.Director </value> </list> </property> </bean> </beans>
最奇怪的地方就是
<property name="annotatedClasses"> <list> <value> cn.pb.jbit.tcjc034.entity.Director </value> </list> /property>
name属性试了好几个annotatedClasses,annotatedPackages,packagesToScan
只有annotatedClasses的时候,value给类名称,不出异常。
annotatedPackages,packagesToScan给包名cn.pb.jbit.tcjc034.entity都提示找不到类,报了异常
= =哪里出的错啊= =
相关文章推荐
- FreeBSD添加一个新用户并允许其使用ssh通过公私钥的方式登录
- ssh注解的方式,调用一个action内部的多种方法的写法
- spring 使用aop注解版会抛出奇怪的异常的解决方法
- ssh使用Java注解的方式声明架构
- SSH集成项目,使用注解方式,竟然还有这样的问题!!
- Hive的--auxpath使用相对路径遇到的一个奇怪的异常
- SSH中使用jpa注解方式配置实体类
- Hibernate5.1.fianl使用JPA注解方式异常:persistence.Table.indexes()[Ljavax/persistence/Index;
- Hibernate4使用JPA注解方式异常:persistence.Table.indexes()[Ljavax/persistence/Index;
- github使用(通过webstorm创建一个nodejs项目的本地git库,推送到github进行管理,(ssh密钥无用户密码方式))
- Spring boot 使用注解方式无法新建一个后台线程问题
- druid连接池使用过程遇到的一个奇怪异常
- 使用java注解 加Spring AOP 处理接口异常逻辑的一个思路
- java注解:如何实现和使用一个自定义注解?
- 关于Fragment使用的那些坑,给出一个完美的填坑方式!源码相送
- 自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常
- spring-retry注解方式使用(断路器,重试)
- Spring Cache抽象-使用Java类注解的方式整合EhCache
- springmvc 异常001---在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案
- gitlab和github使用ssh方式拉取代码的配置