一、环境:
操作系统:windows 7旗舰版 64bit
IDE:eclipse Luna Release (4.4.0)
创建第一个HIbernate+Maven工程时,遇到如下异常:
hibernate-core: 3.5.4-Final
(1)hibernate.cfg.xml路径问题:
Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found
原因主要是HIbernate的默认配置文件hibernate.cfg.xml路径不可变。将其放到src/main/java/这个目录下即可,maven install会自动target/classes目录下面;如下图所示:
(2)添加二级缓存时,类找不到问题:
Exception in thread "main" org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge] at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:402) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:270) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383) at com.zjh.practice.dal.hibernate.simpleDemo.cache.SecondSessionCache.main(SecondSessionCache.java:31) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:397) ... 5 more Caused by: org.hibernate.cache.CacheException: could not instantiate CacheProvider [org.hibernate.cache.EhCacheProvider] at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:66) ... 10 more Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.EhCacheProvider 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.util.ReflectHelper.classForName(ReflectHelper.java:192) at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63) ... 10 more
最后发现是hibernate-core-3.5.4-Final.jar里面已经不包括org.hibernate.cache.EhCacheProvider,需要加入hibernate-ehcache-3.5.4-Final.jar这个包的依赖。完整的pom.xml如下:
<dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.5.4-Final</version> </dependency> <dependency> <groupId>jboss</groupId> <artifactId>javassist</artifactId> <version>3.4.ga</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.31</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>3.5.4-Final</version> </dependency> </dependencies>
(3)
Exception in thread "main" org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: com.zjh.practice.dal.hibernate.simpleDemo.entity.BoxCache: Could not create disk store. Initial cause was null at org.hibernate.cache.EhCacheProvider.buildCache(EhCacheProvider.java:101) at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.buildEntityRegion(RegionFactoryCacheProviderBridge.java:104) at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:291) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385) at com.zjh.practice.dal.hibernate.simpleDemo.cache.SecondSessionCache.main(SecondSessionCache.java:26) Caused by: net.sf.ehcache.CacheException: com.zjh.practice.dal.hibernate.simpleDemo.entity.BoxCache: Could not create disk store. Initial cause was null at net.sf.ehcache.store.DiskStore.<init>(DiskStore.java:164) at net.sf.ehcache.Cache.createDiskStore(Cache.java:577) at net.sf.ehcache.Cache.initialise(Cache.java:549) at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:707) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:697) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:634) at org.hibernate.cache.EhCacheProvider.buildCache(EhCacheProvider.java:94) ... 4 more Caused by: java.lang.NullPointerException
在ehcache.xml中增加如下配置:
<cache name="com.zjh.practice.dal.hibernate.simpleDemo.entity.Box" maxElementsInMemory="5000" eternal="true" overflowToDisk="false" />
相关推荐
"Spring_Hibernate工程"是一个整合了Spring框架和Hibernate ORM(对象关系映射)工具的项目。这个工程展示了如何在Java应用程序中使用这两种技术来构建高效、可维护的后端系统。Spring是一个强大的应用框架,提供了...
通过这个实例,你将掌握在Java项目中使用Hibernate的基本流程,无论是普通Java工程还是Maven工程,都能轻松实现对数据库的操作。在实际开发中,你可以根据项目需求进一步优化配置,比如加入事务管理、查询优化等,以...
在本项目中,我们主要探讨如何使用Maven4MyEclipse搭建一个集成Struts2.3.4、Hibernate4.2.0和Spring3.1.2的SSH2(Struts2、Spring、Hibernate)项目,并结合ExtJS进行前端开发。这是一个经典的Java企业级应用架构,...
【标题】:“第一个Hibernate with Annotation程式(转)” 在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发人员使用面向对象的编程方式来操作数据库,而无需直接编写SQL语句。这个标题...
Maven 是 Apache 软件基金会支持的一个项目管理工具,主要用于 Java 项目的构建与依赖管理。它通过一个项目对象模型(POM)来管理项目的构建、报告和文档。Maven 的设计理念是“约定优于配置”,它为项目的构建过程...
标题中的“商城sql文件+maven工程仓库”表明这是一个与电商项目相关的资源包,包含了数据库脚本和Maven工程的依赖管理部分。这个资源包对于理解并构建一个基于Java的电商平台至关重要,因为它涉及到数据存储和项目...
Hibernate是一个强大的Java持久化框架,它为开发人员提供了一种简单、高效的方式来管理数据库操作。在Java应用程序中,Hibernate作为对象关系映射(ORM)工具,使得开发者可以通过处理Java对象来间接操作数据库,...
在传统的Hibernate使用中,针对每个实体类,我们都需要创建一个对应的Dao(Data Access Object)接口及其实现类,这无疑增加了大量重复的代码。泛型Dao的出现,就是为了解决这个问题,它允许开发者通过泛型来定义一...
Hibernate 4 是一款广泛使用的Java持久化框架,它允许开发者以对象关系映射(ORM)的方式操作数据库。这个压缩包包含所有与Hibernate 4相关的jar文件,确保了开发者在使用Hibernate进行开发时能够得到完整的支持。 ...
【标题】"Hibernate_mvc"项目是一个整合了Hibernate ORM框架与SpringMVC的Web应用程序示例,使用Maven作为构建工具。这个项目旨在提供一个基础的、可扩展的平台,帮助开发者快速搭建基于Java的Web应用,特别是对于...
"生成代码"这个标签暗示了在压缩包中可能包含了一个自动化脚本或工具,该工具可能用于从数据库模式自动创建Java实体类、DAO(数据访问对象)接口和实现,以及相关的SQL映射文件。例如,使用Hibernate的hibernate-...
**反向工程生成实体类和映射文件**: 描述中的"反向生成实体类第一步"、"反向生成实体类和映射文件第二步"、"反向生成实体类和映射文件第三步.bmp",这通常是通过MyEclipse或其他IDE工具来完成的,它们可以帮助开发者...
在本节 "[SSH+Maven+Bootstrap视频教程]_第 四十八 讲" 中,我们将深入探讨如何在Java开发环境中整合Spring、Struts和Hibernate(SSH)框架,并结合Maven构建工具以及Bootstrap前端框架来提升项目的开发效率和用户...
1. **插件配置**:可能会有示例展示如何在Maven或Gradle等构建工具中添加和配置Hibernate插件,如Hibernate Tools,它提供了逆向工程、生成Java类、HQL查询编辑器等功能。 2. **实体类和映射文件**:展示如何创建...
这个JAR是使用Hibernate的基础,必不可少。 2. **数据库驱动**: 根据所使用的数据库,如MySQL、Oracle、PostgreSQL等,需要对应的数据库驱动JAR,例如`mysql-connector-java.jar`,`ojdbc.jar`等。这些驱动使...
它被设计为"Maven-archetype-webapp",这是一个基于Maven的Web应用程序模板,意味着这个项目是用Java语言开发的Web应用,且使用了Maven作为构建工具。"为CZ3002创建的"可能表示这个项目是针对特定课程(可能是大学...
在压缩包中,`index.jsp`通常是Web应用的入口页面,展示给用户的第一界面。`META-INF`目录包含有关应用的信息,如MANIFEST.MF文件,它记录了应用的元数据。`WEB-INF`目录包含Web应用的私有资源,如web.xml(部署描述...
- 数据库文件为conf目录下的db.properties,这是导入项目后需要看的第一个文件,也是你项目运行需要唯一注意的文件 - 项目启动前,看一下db.properties这个文件是不是和你本地的数据库统一(用户名以及密码),我...
数据库文件为conf目录下的db.properties,这是导入项目后需要看的第一个文件,也是你项目运行需要唯一注意的文件 项目启动前,看一下db.properties这个文件是不是和你本地的数据库统一(用户名以及密码),我用的是...