简体   繁体   English

Spring 3项目中的Hibernate基本配置-找不到类异常

[英]Hibernate basic configuration in Spring 3 project - Class not found exception

I'm trying to set up Hibernate 3.6 in my existing Spring 3 MVC + Spring 3 security project. 我正在尝试在现有的Spring 3 MVC + Spring 3 security项目中设置Hibernate 3.6 Nevertheless I keep getting java.lang.ClassNotFoundException in my HibernateUtil class - line with return new Configuration().configure().buildSessionFactory(); 不过,我一直在我的HibernateUtil类中获取java.lang.ClassNotFoundException return new Configuration().configure().buildSessionFactory();

My project structure looks like this: 我的项目结构如下:

在此处输入图片说明

hibernate.cfg.xml : hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3049/test</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
        <mapping resource="./DBUser.hbm.xml"></mapping>
    </session-factory>
</hibernate-configuration>

DBUser.hbm.xml : DBUser.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="../src/main/java/user/DBUser" table="DBUSER">
        <id name="userId" type="int">
            <column name="USER_ID" precision="5" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="username" type="string">
            <column name="USERNAME" length="20" not-null="true" />
        </property>
        <property name="createdBy" type="string">
            <column name="CREATED_BY" length="20" not-null="true" />
        </property>
        <property name="createdDate" type="date">
            <column name="CREATED_DATE" length="7" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

And a relevant part of the pom.xml file: 以及pom.xml文件的相关部分:

<!-- Hibernate + MySQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.3.Final</version>
        </dependency>

EDIT: I've pasted here the stack trace . 编辑:我已经在此处粘贴了堆栈跟踪 It was too long to put it right here, because it would make this post confused. 将其放在此处太长时间了,因为这会使该帖子感到困惑。

I'd be really glad, if someone could help me with setting up this thing, because I've got no idea, why it can't find that class. 如果有人可以帮助我设置这个东西,我真的会很高兴,因为我不知道为什么它找不到那个类。

Your class name should be the package path to the Hibernate POJO in DBUser.hbm.xml, eg: 您的类名称应该是DBUser.hbm.xml中Hibernate POJO的包路径,例如:

user/DBUser

And your mapping resource does not need ./ in the path. 并且您的映射资源在路径中不需要./

It looks like you are missing the javaassist library. 看来您缺少javaassist库。 Download the javaassist jar and add it to your classpath. 下载javaassist jar并将其添加到您的类路径中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM