由于在项目的不同包中存在相同的JavaBean类Student,并且在hibernate.cfg.xml中同时添加了如下映射:
<mapping resource="hibernate/Student.hbm.xml" />
<mapping resource="springHibernate/Student.hbm.xml" />
在运行时抛出如下异常:
Caused by: org.hibernate.DuplicateMappingException: duplicate import: Student refers to both springHibernate.Student and hibernate.Student (try using auto-import="false")
解决方法是在映射文件中添加auto-import="false":
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping auto-import="false">
<class name="springHibernate.Student" table="student" catalog="test">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="increment" />
</id>
<property name="username" type="java.lang.String">
<column name="username" length="200" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="20" not-null="true" />
</property>
<property name="age" type="java.lang.Integer">
<column name="age" />
</property>
</class>
</hibernate-mapping>
分享到:
相关推荐
在Java开发中,Maven 和 Hibernate 是两个非常重要的组件。Maven 用于自动化项目的构建、依赖管理和项目信息管理,而 Hibernate 则用于简化数据库操作,通过Java对象直接映射到关系数据库。 描述中提到 "hibernate...
9. **事务管理**:Hibernate支持自动和手动的事务管理,开发者可以通过Session的beginTransaction、commit和rollback方法来控制事务。 10. **关联映射**:Hibernate支持多种关联映射,如一对一、一对多、多对一和多...
在Hibernate 5.0中,这个框架进一步提升了性能和易用性,引入了许多新的特性和改进。 文档首先会介绍Hibernate的基本概念,包括实体(Entity)、持久化(Persistence)、对象关系映射(ORM)以及Session和...
在Hibernate中,可以通过Session的beginTransaction和commitTransaction方法来控制事务的开始和结束。 通过上述步骤,我们就可以在Hibernate项目中方便地使用配置文件中的SQL语句了。这种方式提高了代码的可读性...
在3.0版本中,Hibernate引入了更丰富的查询语言HQL,支持CGLIB和JPA,以及对JTA的集成,大大简化了数据库访问层的编程,提高了开发效率。 3. **Spring2**:Spring框架是Java企业级应用的核心框架,其2.x版本提供了...
6. **事务管理**:解释了Hibernate如何处理事务,包括自动提交、显式事务控制,以及事务隔离级别的设置。 7. **性能优化**:提供了各种优化技巧,如批处理、延迟加载、集合的懒加载、预加载和缓存策略,以提升...
1. **数据持久化**: 对于常规的CRUD操作和复杂的业务逻辑,可以使用Hibernate,它能够自动处理对象的持久化,简化代码,提高开发效率。 2. **性能优化**: 对于大数据量的查询或者需要进行复杂SQL操作的部分,可以...
为了提高性能,Hibernate引入了缓存机制。一级缓存是Session级别的,自动管理对象的状态;二级缓存则是SessionFactory级别的,可以跨Session共享数据。常用的二级缓存提供商有Ehcache和Infinispan。 **七、懒加载与...
在Hibernate中,注解(Annotation)API是一种声明式的方法,用于定义对象-关系映射(ORM)。让我们深入探讨一下Hibernate Annotation API及其相关的知识点。 **1. Hibernate 注解概述** 在传统的Hibernate配置中,...
在Java应用程序中,Hibernate作为一个库,通过引入`hibernate.jar`包,可以实现数据持久化,即将对象状态持久化到关系型数据库中。这个jar包通常包含了Hibernate的核心组件和服务,如实体管理、查询语言、事件监听等...
上述配置中的`spring.jpa.hibernate.ddl-auto`用于控制数据库表的自动创建、更新等操作,`spring.jpa.show-sql`则用于在控制台显示执行的SQL语句。 现在,我们创建实体类。假设我们有一个`User`实体,如下所示: `...
在pom.xml或build.gradle文件中,你需要找到对应版本的Spring和Hibernate依赖并引入。 2. **配置Hibernate**:创建一个hibernate.cfg.xml文件,定义数据库连接参数,如数据库URL、用户名、密码、驱动类等。同时,还...
1. **整合配置**:整合Struts2和Hibernate需要在Struts的配置文件中引入Hibernate的相关拦截器,如`hibernate-interceptor`,以便在Action执行时自动开启和关闭Session。 2. **实体类和映射文件**:为了使用...
2. 项目集成:在Eclipse项目中引入Hibernate库,配置Hibernate的XML配置文件(如hibernate.cfg.xml)。 3. 同步操作:右键点击项目,选择"Hibernate" -> "Synchronize with Database",插件会自动检测并更新实体类和...
在3.6.9版本中,Hibernate引入了丰富的API和配置选项。例如,SessionFactory是创建持久化对象的工厂,而Session则负责实际的数据库操作。Transaction管理事务,确保数据的一致性。Query和Criteria API提供了灵活的...
在IT行业中,Spring框架是Java领域最广泛应用的轻量级框架之一,而Spring MVC是它的一个模块,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构。Spring 5.x带来了许多性能改进和新特性,如Reactor支持以实现...
首先,你需要在项目中引入Hibernate的依赖。对于Maven项目,可以在pom.xml文件中添加对应的依赖项。接下来,配置Hibernate的主配置文件(hibernate.cfg.xml),在这个文件中定义数据库连接信息,包括URL、用户名、...
1. **配置项目**:首先,需要在项目中引入HibernateSynchronizer的依赖,并配置好相关参数,如数据库连接信息、Hibernate配置文件路径等。 2. **扫描模型**:运行工具后,它会扫描项目中的所有Hibernate实体类,...
8. **持久化对象状态**:Hibernate管理的对象有瞬时态、持久态和脱管态,理解这些状态有助于更好地控制对象的生命周期。 9. **级联操作**:在关联映射中,可以设置级联属性,使得对父对象的操作自动影响到子对象。 ...