- 浏览: 403092 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
一笑_奈何:
什么呀,写的不清不楚的。你是采用的什么监听事件呀
JQuery Mobile列表内容分版面异步加载(一) -
sf2gis:
谢谢,解决了。
搭建struts2,解决Tomcat启动时的错误:严重: Error filterStart -
effort0829:
其实解决办法很简单的,只要架上对应的jar包就可以了。
解决SSH的问题:NoClassDefFoundError: org/aopalliance/aop/Advice -
jianlangood:
受教了,感谢!
解决SSH的问题:NoClassDefFoundError: org/aopalliance/aop/Advice -
jsdsh:
好,太好了.谢谢
Open Chart Flash [ofc]图表示例一 (附图)
Hibernate使用了*.hbm.xml来进行数据库表与java中的实体类的映射,例如:
用<query>元素来声明hql语句,这外query中的name是全局性的,一旦别的query的name属性与之重名,tomcat服务器在启动时就会报错,这个错误是比较难发现的。 本人犯错的例子:
其中之一很多错误产生的stacktrace信息,基本是误导人的, 某段的最后一句才是有用的:
nested exce
ption is org.hibernate.DuplicateMappingException: Duplicate query mapping checkI
sDuplicate
因为这个,花了不少时间查问题, 所以有必要花点时间写这篇文字来记录一下,以免将来还陷进去。
查了一下,果然有多个同名的query声明:
<?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="com.liany.mis.perm.orgchart.model.OrgChart" table="ORG_CHART"> <id name="id" type="java.lang.String" column="ID"> <generator class="uuid.hex" /> </id> <property name="orgCode" type="java.lang.String" column="ORGCODE" length="50" /> <property name="orgName" type="java.lang.String" column="ORGNAME" length="200" /> </class> <query name="getAllOrgCharts"> from OrgChart c order by c.treeCode </query> <query name="checkIsDuplicate"> <![CDATA[ select count(c.id) from OrgChart c where (:id is null or c.id<>:id) and c.orgCode=:orgCode ]]> </query> </hibernate-mapping>
用<query>元素来声明hql语句,这外query中的name是全局性的,一旦别的query的name属性与之重名,tomcat服务器在启动时就会报错,这个错误是比较难发现的。 本人犯错的例子:
2011-05-15 15:02:13 ERROR ContextLoader:211 - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean wit h name 'dictService' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\l iany\mis\common\dict\mis-spring-dict.xml]: Cannot resolve reference to bean 'dic tServiceImpl' while setting bean property 'target'; nested exception is org.spri ngframework.beans.factory.BeanCreationException: Error creating bean with name ' dictServiceImpl' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\liany \mis\common\dict\mis-spring-dict.xml]: Cannot resolve reference to bean 'dictDAO ' while setting bean property 'dictDAO'; nested exception is org.springframework .beans.factory.BeanCreationException: Error creating bean with name 'dictDAO' de fined in file [D:\projects2\mis\war\WEB-INF\classes\com\liany\mis\common\dict\mi s-spring-dict.xml]: Cannot resolve reference to bean 'sessionFactory' while sett ing bean property 'sessionFactory'; nested exception is org.springframework.bean s.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\toone\ipms\ipms-spring -global.xml]: Initialization of bean failed; nested exception is org.hibernate.D uplicateMappingException: Duplicate query mapping checkIsDuplicate org.springframework.beans.factory.BeanCreationException: Error creating bean wit h name 'dictServiceImpl' defined in file [D:\projects2\mis\war\WEB-INF\classes\c om\liany\mis\common\dict\mis-spring-dict.xml]: Cannot resolve reference to bean 'dictDAO' while setting bean property 'dictDAO'; nested exception is org.springf ramework.beans.factory.BeanCreationException: Error creating bean with name 'dic tDAO' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\liany\mis\common \dict\mis-spring-dict.xml]: Cannot resolve reference to bean 'sessionFactory' wh ile setting bean property 'sessionFactory'; nested exception is org.springframew ork.beans.factory.BeanCreationException: Error creating bean with name 'sessionF actory' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\toone\ipms\ipm s-spring-global.xml]: Initialization of bean failed; nested exception is org.hib ernate.DuplicateMappingException: Duplicate query mapping checkIsDuplicate org.springframework.beans.factory.BeanCreationException: Error creating bean wit h name 'dictDAO' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\liany \mis\common\dict\mis-spring-dict.xml]: Cannot resolve reference to bean 'session Factory' while setting bean property 'sessionFactory'; nested exception is org.s pringframework.beans.factory.BeanCreationException: Error creating bean with nam e 'sessionFactory' defined in file [D:\projects2\mis\war\WEB-INF\classes\com\too ne\ipms\ipms-spring-global.xml]: Initialization of bean failed; nested exception is org.hibernate.DuplicateMappingException: Duplicate query mapping checkIsDupl icate org.springframework.beans.factory.BeanCreationException: Error creating bean wit h name 'sessionFactory' defined in file [D:\projects2\mis\war\WEB-INF\classes\co m\toone\ipms\ipms-spring-global.xml]: Initialization of bean failed; nested exce ption is org.hibernate.DuplicateMappingException: Duplicate query mapping checkI sDuplicate org.hibernate.DuplicateMappingException: Duplicate query mapping checkIsDuplicat e at org.hibernate.cfg.Mappings.checkQueryExist(Mappings.java:270) at org.hibernate.cfg.Mappings.addQuery(Mappings.java:259) at org.hibernate.cfg.HbmBinder.bindNamedQuery(HbmBinder.java:2596) at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:160) at org.hibernate.cfg.Configuration.add(Configuration.java:688) at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:523 ) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPrope rtiesSet(LocalSessionFactoryBean.java:683) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1099) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.createBean(AbstractAutowireCapableBeanFactory.java:400) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:144) at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveReference(BeanDefinitionValueResolver.java:182) at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveValueIfNecessary(BeanDefinitionValueResolver.java:105) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.populateBean(AbstractAutowireCapableBeanFactory.java:863) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.createBean(AbstractAutowireCapableBeanFactory.java:382) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:144) at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveReference(BeanDefinitionValueResolver.java:182) at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveValueIfNecessary(BeanDefinitionValueResolver.java:105) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.populateBean(AbstractAutowireCapableBeanFactory.java:863) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.createBean(AbstractAutowireCapableBeanFactory.java:382) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:144) at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveReference(BeanDefinitionValueResolver.java:182) at org.springframework.beans.factory.support.BeanDefinitionValueResolver .resolveValueIfNecessary(BeanDefinitionValueResolver.java:105) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.populateBean(AbstractAutowireCapableBeanFactory.java:863) at org.springframework.beans.factory.support.AbstractAutowireCapableBean Factory.createBean(AbstractAutowireCapableBeanFactory.java:382) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:144) at org.springframework.beans.factory.support.DefaultListableBeanFactory. preInstantiateSingletons(DefaultListableBeanFactory.java:277) at org.springframework.context.support.AbstractApplicationContext.refres h(AbstractApplicationContext.java:321) at org.springframework.web.context.support.AbstractRefreshableWebApplica tionContext.refresh(AbstractRefreshableWebApplicationContext.java:139) at org.springframework.web.context.ContextLoader.createWebApplicationCon text(ContextLoader.java:252) at org.springframework.web.context.ContextLoader.initWebApplicationConte xt(ContextLoader.java:190) at org.springframework.web.context.ContextLoaderListener.contextInitiali zed(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContex t.java:3934) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4 429) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase .java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:77 1) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja va:630) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j ava:556) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491 ) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :314) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl eSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443 ) at org.apache.catalina.core.StandardService.start(StandardService.java:5 16) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710 ) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 2011-5-15 15:02:13 org.apache.catalina.core.StandardContext start 严重: Error listenerStart 2011-5-15 15:02:13 org.apache.catalina.core.StandardContext start
其中之一很多错误产生的stacktrace信息,基本是误导人的, 某段的最后一句才是有用的:
nested exce
ption is org.hibernate.DuplicateMappingException: Duplicate query mapping checkI
sDuplicate
因为这个,花了不少时间查问题, 所以有必要花点时间写这篇文字来记录一下,以免将来还陷进去。
查了一下,果然有多个同名的query声明:
发表评论
-
理解Struts2的Action中的setter方法是怎么工作的
2012-05-01 22:11 6547接触过webwork和Struts2的同行都应该知道, ... -
解决SSH的问题:NoClassDefFoundError: org/aopalliance/aop/Advice
2012-04-30 13:54 27583在集成Struts2+Spring3+Hibern ... -
搭建struts2,解决Tomcat启动时的错误:严重: Error filterStart
2012-04-28 15:11 69041. 环境: JDK: jd ... -
Hibernate主键ID自动生成两种方法示例
2012-03-03 16:13 2877版本:hibernate-3.2.7 方法之一: 用uuid生 ... -
一个由hbm.xml文件格式不正确引发的悲催
2012-02-02 10:07 6136项目中运用了Hibernate3,报错如下: INFO ... -
Hibernate(HQL) 怪异的count()函数
2012-01-06 11:31 3764近日发现HQL中, count()函数要求还比较严格,举例说: ... -
基于SSH框架开发的JSP页面优化总结
2011-12-23 09:32 2185webwork2是struts2的前生,虽然struts ... -
webwork2使用细节
2011-11-15 10:49 1195记录一下webwork2使用细节,这些细节虽是小问题,可是不注 ... -
Hibernate(HQL) 子查询 formula公式运用
2011-11-02 17:07 2253写HQL时,除了where条件里可以用子查询,其它地方,如se ... -
Hql技巧积累之一:同时使用distinct和order by的问题
2010-12-20 11:22 5498所用数据库:ms server2000 所用hibernate ... -
Tomcat Server启动时报错: 请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库
2010-11-19 00:11 5082以前一直做连接Oracle数据库的web项目, 今晚尝试搭建连 ... -
解决Failed to load class "org.slf4j.impl.StaticLoggerBinder"
2010-11-18 19:21 181147下载了hibernate-distribution-3.3.1 ... -
SQL 删除操作的语法在Hql中报错
2010-11-17 11:51 1550Hql中不能使用下面的删除语法, 但对应sql的语法是正确的。 ... -
Hibernate one-to-many映射要注意的问题及详细例子
2010-11-01 09:08 1819使用场合: table1中主键id被table2作为外键引用, ... -
SSH jar包冲突解决方法 - (struts2 spring2 hibernate3)
2010-08-29 11:20 4113SSH jar包冲突解决方法 - (struts2 sprin ...
相关推荐
在hbm.xml文件中,我们可以使用`<many-to-one>`, `<one-to-many>`, 和 `<many-to-many>`标签来定义这些关联。下面将详细介绍这三个标签及其相关属性。 首先,我们来看`<many-to-one>`标签,它表示多对一的关系。...
在 NHibernate 中,`hbm.xml` 文件是用于定义对象和数据库表之间映射的关键文件。本实例代码详细介绍了三种不同的 `hbm.xml` 加载方式,这对于理解和使用 NHibernate 进行数据持久化至关重要。 1. **文档直接引用**...
【标题】中的“Hibernate4的全套jar包”指的是Hibernate框架的完整依赖库,这通常包括了Hibernate核心库、ORM映射、查询语言(HQL)、工具类和其他必要的支持库。这些jar包使得开发者能够利用Hibernate在Java应用中...
学习Hibernate意味着理解实体类、映射文件(hibernate.cfg.xml和.hbm.xml)、Session工厂和Session接口的使用。 6. **Ajax** Ajax(Asynchronous JavaScript and XML)是一种创建交互式Web应用的技术,允许部分...
2. **检查映射文件**:确认`XXX.hbm.xml`映射文件中的字段名与数据库表中的字段名一致。 通过以上分析和解决方案,可以有效地解决Hibernate开发过程中常见的错误,提高开发效率和系统的稳定性。
2. **映射文件**:定义Java对象和数据库表之间的映射关系,如Hibernate的`hbm.xml`文件,它指定了实体类与数据库表的对应字段及约束。 ### Hibernate Hibernate是一个流行的Java ORM框架,它简化了Java应用程序与...
它通过实体类和映射文件(hibernate.cfg.xml及.hbm.xml)将对象与数据库表关联起来。在XML配置文件中,我们指定数据源、连接池、实体类和表的映射关系。此外,使用SessionFactory和Session对象,我们可以方便地执行...
命名查询将HQL语句写在`.hbm.xml`配置文件中,如`<query name="queryUserRange">`,这提高了代码的可维护性。在Java代码中,可以通过`session.getNamedQuery("queryUserRange")`调用。 理解并熟练运用这些HQL特性...
2. **创建SQL查询**:在映射文件(.hbm.xml)中,我们可以为实体类定义一个或多个`<sql-query>`标签来存放自定义SQL。例如: ```xml <return class="com.example.User"/> SELECT * FROM users WHERE age = {...
7. dom4j.jar:XML解析库,Hibernate使用它来处理XML配置文件和HQL查询结果。 8. slf4j-api.jar和slf4j-log4j12.jar:日志框架接口和适配器,用于记录Hibernate的日志信息。 9. jandex.jar:元数据索引库,用于处理...
2. **映射文件**:使用Hibernate的XML映射文件(`.hbm.xml`)或注解将Java类与数据库表关联起来。 3. **Session**:作为主要的持久化接口,`Session`负责保存、更新、删除和检索对象。每次数据库交互都应在Session...
- 映射文件:在.hbm.xml文件中,详细定义实体类与数据库表的字段对应关系。 - SessionFactory的创建:使用Configuration对象加载配置文件,创建SessionFactory实例。 - 数据操作:通过SessionFactory获取Session...
这通过XML配置文件(如hibernate.cfg.xml和.hbm.xml文件)或使用Fluent NHibernate的代码配置来实现。 2. **会话管理**:NHibernate提供了一种称为Session的机制,它作为应用程序与数据库交互的短暂工作单元。...
接着,配置Hibernate的持久化层,创建实体类、映射文件(hbm.xml)和配置文件(hibernate.cfg.xml),并使用SessionFactory来管理数据库会话。最后,将Spring整合进来,通过XML配置或注解实现依赖注入,管理Action、...
2. **实体类与映射文件**:设计和编写实体类,对应数据库中的表,并通过Hibernate的XML映射文件(.hbm.xml)或注解来定义对象关系映射。 3. **CRUD操作**:学习如何使用Hibernate进行创建(Create)、读取(Read)...
4. **映射文件(Mapping Files)**: 通过.hbm.xml文件,你可以定义实体类和数据库表之间的映射关系,包括字段、类型和约束。 5. **SessionFactory**: SessionFactory是线程安全的,负责创建Session实例,它是...
它通过配置文件(hibernate.cfg.xml)和映射文件(.hbm.xml)定义了Java对象与数据库表之间的映射关系,使得数据操作更加便捷。 **Struts与Hibernate的整合** 将Struts与Hibernate整合,可以实现更高效的数据访问和...
通过配置文件(hibernate.cfg.xml)设置数据库连接参数,并通过实体类(POJOs)和映射文件(hbm.xml)将Java对象与数据库表关联。Hibernate提供了CRUD(创建、读取、更新、删除)操作,以及查询语言HQL,使得数据库...
在Hibernate配置中,`.hbm.xml` 文件是映射文件,用于定义Java类和数据库表之间的映射关系。`Student.hbm.xml` 可能包含如下内容,定义了`Student`类与数据库中的`student`表的对应: ```xml <class name="com....