- 浏览: 656102 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
1、错误: object references an unsaved transient instance save the transient instance before flushing
错误原因:
只是生成的对象的id==null,因此,系统以为TraveCode对象存在,而TraveCode.id=null ,所以抛出此异常
if(job.getWorkCondition().getTraveCode()!=null && job.getWorkCondition().getTraveCode().getId()==null){
job.getWorkCondition().setTraveCode(null);
}
2、解决a different object with the same identifier value was already associated with the session错误
错误原因: 因为在hibernate中同一个session里面有了两个相同标识但是是不同实体
只需要进行session.clean()操作就可以解决了,但是你在clean操作后面又进行了saveOrUpdate(object)操作,有可能会报出"Found two representations of same collection",
其中这篇文章帮助最大http://opensource.atlassian.com/projects/hibernate/browse/HHH-509 。
最后 通过session.refresh(object)方法就可以解决了,注意,当object不是数据库中已有数据的对象的时候,不能使用 session.refresh(object)因为refresh是从hibernate的session中去重新取object,
如果session中没有这个对象,则会报错所以当你使用saveOrUpdate(object)之前还需要判断一下
当然这个问题最容易解决的办法还是使用Hibernate里面自带的merge() 方法。不过我始终觉得碰到问题就用这种软件自带的非常用方法(和saveOrUpdate(),save(),update()相比)感觉十分不爽。
3、 Hibernate 中使用 oracle 中的 函数
可使用
case when 条件 then 结果1 else 结果2
public List unassignAccountStatistics(Session ses,IndexPager pager){
as total,
sum(account.state) as readNum,count(account.applyPublish) as
applyNum,
sum(case when account.deleted=1 then 1 else 0 end) as delNum
) " + innerHQL.toString());
StringBuffer
innerHQL = new StringBuffer(" from Company com inner join com.clerkBD
cBD join cBD.department dep inner join com.accounts account ");
innerHQL.append(" where (com.source=5 or com.source is null)");
innerHQL.append(" group by cBD.id,cBD.name,dep.name");
Query
innerQuery = ses.createQuery("select new map(dep.name as depName,cBD.id
as empId,cBD.name as empName,count(com.id)
com.clerkBD bd where com.source=5 or com.source is null)");
4、net.sf.hibernate.PropertyNotFoundException: Could not find a getter for sitetitle in class dlog4j.formbean.SiteForm
错误原因:
由于 POJO 中的 getXXX() 方法的 名称 和 POJO对应的 XML 文件中对应的 属性 名称不一致
Query
countQuery = ses.createQuery("select count(*) from Employee emp where
emp = some (select bd from Company com inner join
HibernateUtil.pagingQuery(pager, innerQuery, countQuery);
List innerList = innerQuery.list();
return innerList;
}
5、错误1:org.hibernate.HibernateException: createCriteria is not valid without active transaction
解决:错误行是这样的 Criteria criteria = (persondao.getSession())
根据提示 改成这样
Transaction tx = persondao.getSession().beginTransaction();
Criteria criteria = (persondao.getSession());
……
tx.commit();
原因:Criteria不能脱离事务运行
6、:
Exception
in thread "main" org.hibernate.MappingException: Repeated column in
mapping for entity: lizhx.n11n.test.User column: room_id (should be
mapped with insert="false" update="false")
原因:在 XXX.hbm.xml 里有重复的映射
解决:
<property name="RoomId" column="room_id" type="integer" not-null="false" length="11"/>
<many-to-one name="room" column="room_id" class="lizhx.n11n.test.Room" cascade="all" outer-join="false"/>
由于hibernate自动生成和手动添加的映射room_id影射重复导致的错误~
只需要把<property>映射删除即可……
发表评论
-
hibernate Restrictions用法 MatchMode.ANYWHERE
2012-07-14 15:50 3943方法 说明 Res ... -
hibernate3 大批量更新/删除数据 (update/delete)
2011-11-10 12:15 1365Hibernate3.0 采用新的基 ... -
hibernate lazy(延迟加载)
2011-10-12 02:20 914hibernate lazy策略可以使用在: * < ... -
一些关于Hibernate延迟加载的误区
2011-09-12 23:13 885首先是第一个误区:延迟加载只能作用于关联实体 看到这个是 ... -
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling
2011-08-12 19:17 1244Hi I am facing a problem wit ... -
Criteria Condition: Match Mode End
2011-07-02 11:05 978//////////////////////////// ... -
Criteria: Group By Criteria
2011-07-02 11:03 1328/////////////////////////////// ... -
Query Criteria Equal
2011-07-02 11:02 889/////////////////////////////// ... -
Criteria: Order
2011-07-02 10:59 766//////////////////////////// ... -
Criteria: Associations Sorting Criteria
2011-07-02 10:57 903//////////////////////////// ... -
hibernate的Query有没有setResultTransformer这个方法
2011-07-01 23:24 3081可以对原生SQL 查询使用ResultTransformer。 ... -
Hibernate中一级缓存、二级缓存及查询缓存的技术性总结
2011-06-21 17:31 1231一、 一级缓存 1. ... -
hibernate 保存 oracle 10g大数据字段
2011-06-14 04:01 1445Java代码 要点如下: ... -
MappingException提示Association references unmapped class错误的解决方法
2011-06-12 17:09 10出现如下错误信息时 Caused by: org.hibe ... -
Hibernate一对多关联映射的配置及其级联删除问题
2011-06-12 17:07 9首先举一个简单的一对多双向关联的配置: 一的一端:Quest ... -
Hibernate多对一关联映射原理、映射方法和数据的保存
2011-06-12 17:06 13Hibernate的多对一关联映射实现的基本原理就是: 在多 ... -
Hibernate一对多单向关联和双向关联映射方法及其优缺点
2011-06-12 17:05 11一对多关联映射和多对一关联映射实现的基本原理都是一样的,既是在 ... -
inverse = “true” example and explanation
2011-06-11 22:18 1118In Hibernate, only the “relatio ... -
ibatis和hibernate区别
2011-04-13 17:34 825ibatis:sql需要自己写 hibe ... -
Hibernate StackOverFlowError 异常出现的原因
2011-04-13 16:51 1272引起StackOverFlowError异常的一般是因为在程序 ...
相关推荐
通过合理的关联设计,可以简化对象模型与数据库之间的转换,提高开发效率,减少潜在的错误。在实际项目中,开发者应根据业务需求灵活选择关联类型,并合理配置各种属性,以实现最佳的数据管理效果。
本文将针对几个常见的Hibernate错误进行深入分析,并提供相应的解决方法。这些错误包括但不限于 `org.springframework.orm.ObjectRetrievalFailureException`、`org.springframework.beans.factory....
《Spring+Struts+Hibernate(SSH)项目调试精要》 在Java Web开发领域,Spring、Struts和Hibernate组成的SSH框架组合是应用广泛的技术栈。...通过不断实践和总结,我们可以将这些经验转化为宝贵的专业技能。
了解和熟练掌握这些关联关系,能够帮助开发者更好地利用Hibernate进行数据库操作,提高开发效率并减少错误。在设计数据库模型时,还需要考虑业务需求、数据规模和性能要求,以做出最佳的设计决策。
总结:Hibernate作为一款强大的ORM框架,虽然简化了与数据库的交互,但同时也引入了一些特有的错误。理解和解决这些错误需要深入理解Hibernate的工作原理以及数据库事务和并发控制。遇到问题时,检查配置文件、...
总结,Hibernate配置错误主要集中在SessionFactory创建、实体类配置、数据库连接、属性映射、懒加载、HQL查询和事务管理等方面。解决这些问题需要对Hibernate的工作原理有深入理解,并熟练掌握其配置细节。通过以上...
在IT领域,特别是Java开发中,使用Spring、Hibernate和Struts框架进行项目开发时,开发者可能会遇到各种各样的错误和异常。以下是对给定文件中提及的一些常见问题的详细解析和解决方案,旨在帮助开发者理解并避免...
1. Hibernate产生的原因:Hibernate的出现主要是为了解决JDBC编程中的一些问题,如代码和SQL混杂,不利于维护;SQL语句使得程序失去面向对象的特性;数据模型变化需要手动修改大量SQL;以及SQL错误在编译时无法检查...
然而,在使用Hibernate时,可能会遇到事务回滚失败的问题,本文将详细介绍该问题的原因和解决方法。 一、问题描述 在使用Hibernate时,可能会遇到以下错误信息: Could not roll back Hibernate transaction; ...
总结起来,Hibernate3是Java开发中的强大工具,它极大地简化了数据库操作,提高了开发效率。理解并熟练掌握Hibernate3的核心概念和使用方法,对于任何Java开发者来说都是必要的技能。在实际项目中,正确配置和使用...
如果有错误,回滚事务。 7. 关闭资源:关闭 Session 和 SessionFactory,释放相关资源。 **实体类和映射文件** 1. **实体类**:Java 类,代表数据库中的表。通常使用 `@Entity` 注解标识,并通过 `@Table` 定义...
错误原因 "No Hibernate Session bound to thread" 错误信息通常是因为 Hibernate Session 未被绑定到当前线程所致。在 Hibernate 中,每个线程都需要一个 Session 对象来与数据库交互。如果未绑定 Session 到线程...
总结来说,这三个版本的Hibernate jar包代表了Hibernate框架在不同阶段的发展和进步。从4.0到5.6,不仅在功能上得到了增强,而且在性能和易用性方面也有了显著提升。对于需要使用Hibernate的开发者来说,选择合适的...
**Hibernate开发各类项目的技术总结** Hibernate,作为Java领域的一个强大对象关系映射(ORM)框架,极大地简化了数据库操作,让开发者可以专注于业务逻辑而非繁琐的SQL语句。在我一年半的开发经验中,我逐渐积累了...
此外,Hibernate校验支持国际化,可以为不同的语言提供友好的错误消息。 总结 Hibernate校验作为Hibernate框架的一部分,极大地增强了Java对象的数据验证能力。通过使用JSR-303标准,开发者可以方便地在实体类中...
总结来说,配置Hibernate的多表关联时,需注意以下几点: 1. 在两个关联的实体类中都要添加相应的关联注解。 2. 确保注解位置一致,要么都在属性上,要么都在setter方法上。 3. 实现`Serializable`接口,特别是使用...