Java Hibernate:无法加载在Hibernate配置中声明的类<;映射/>;进入
我是全新的Hibernate用户,有这样一个stacktrace:Java Hibernate:无法加载在Hibernate配置中声明的类<;映射/>;进入,java,hibernate,Java,Hibernate,我是全新的Hibernate用户,有这样一个stacktrace: hql> from TracksEntity [2014-04-26 21:13:45] org.hibernate.MappingException: Unable to load class [ model.TracksEntity] declared in Hibernate configuration <mapping/> entry [2014-04-26 21:13:45] java.lang.C
hql> from TracksEntity
[2014-04-26 21:13:45] org.hibernate.MappingException: Unable to load class [ model.TracksEntity] declared in Hibernate configuration <mapping/> entry
[2014-04-26 21:13:45] java.lang.ClassNotFoundException: model.TracksEntity
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at org.hibernate.internal.util.ReflectHelper.classForName(ReflectHelper.java:192)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2188)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2139)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2119)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2072)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2045)
at com.intellij.hibernate.remote.impl.RemoteConfigurationImpl.configure(RemoteConfigurationImpl.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
at sun.rmi.transport.Transport$1.run(Transport.java:178)
at sun.rmi.transport.Transport$1.run(Transport.java:175)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:174)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:671)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)
hibernate.cfg.xml:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:derby:/home/zimy/Documents/drbdb;create=true;create=true</property>
<property name="connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
<mapping class="model.TracksEntity"/>
</session-factory>
</hibernate-configuration>
jdbc:derby:/home/zimy/Documents/drbdb;create=true;create=true
org.apache.derby.jdbc.EmbeddedDriver
问题是什么?我看到它没有找到,但为什么呢?以这种模式编写
write in this pattern
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dairy
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<!-- MAPPING -->
<!-- <mapping class="com.om.model.Test" /> -->
<mapping class="com.om.model.RateCalculationBean" />
</session-factory>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/dairy
根
根
10
真的
org.hibernate.dialogue.mysqldialogue
线
也不必提及scema听起来很傻,但我把我的实体类放在一个包中,这个包与我放在映射中的包不同。。hibernate当然找不到了。。。仅供参考。。也许再检查一下可以解决你的问题。祝你好运。对我有用。: 更改以前未加载的类在hibernate.cfg.xml中的映射标记位置
我现在把它放在顶部。当映射文件无法正确加载时,我遇到了类似的问题。这个问题的答案似乎是,我们需要在模型类中使用正确的导入语句 将导入更改为
import javax.persistence.Entity
,而不是使用hibernate包中的导入(即org.hibernate.annotations.Entity
),解决了我的问题
这个问题真的很痛苦,我花了1/2多天的时间查看各个角落,一个简单的导入就解决了这个问题
希望这能有所帮助。我最近经历过这种情况。我检查了所有的东西,没有发现任何可能的原因。在绝望中,我只是在映射中将“/>”移近并保存了它。它成功了。神秘的…我的错误是骆驼案的问题。我有一个嵌入的实体“IndexPK”,并在映射文件中写入了“IndexPK”。我比较了20次。。。。直到我找到答案。就我而言,我刚刚重新部署了这个项目。然后问题解决了 有两种方法可以做到,第二种方法肯定有效
要解决此问题,请添加maven spring引导依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring启动程序日志记录
我也有同样的问题,
添加此依赖项后,将解决此问题
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.1.GA</version>
</dependency>
javassist
javassist
3.12.1.GA
谢谢!向hibernate.cfg.xml添加线程使其工作。但这意味着什么?为什么我得到java.lang.ClassNotFoundException:model.TracksEntity,而我没有配置这样的属性?你怎么知道他们有Spring设置?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.1.GA</version>
</dependency>