- 浏览: 656954 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 3945方法 说明 Res ... -
hibernate3 大批量更新/删除数据 (update/delete)
2011-11-10 12:15 1366Hibernate3.0 采用新的基 ... -
hibernate lazy(延迟加载)
2011-10-12 02:20 916hibernate lazy策略可以使用在: * < ... -
一些关于Hibernate延迟加载的误区
2011-09-12 23:13 887首先是第一个误区:延迟加载只能作用于关联实体 看到这个是 ... -
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling
2011-08-12 19:17 1246Hi I am facing a problem wit ... -
Criteria Condition: Match Mode End
2011-07-02 11:05 984//////////////////////////// ... -
Criteria: Group By Criteria
2011-07-02 11:03 1333/////////////////////////////// ... -
Query Criteria Equal
2011-07-02 11:02 893/////////////////////////////// ... -
Criteria: Order
2011-07-02 10:59 768//////////////////////////// ... -
Criteria: Associations Sorting Criteria
2011-07-02 10:57 913//////////////////////////// ... -
hibernate的Query有没有setResultTransformer这个方法
2011-07-01 23:24 3083可以对原生SQL 查询使用ResultTransformer。 ... -
Hibernate中一级缓存、二级缓存及查询缓存的技术性总结
2011-06-21 17:31 1233一、 一级缓存 1. ... -
hibernate 保存 oracle 10g大数据字段
2011-06-14 04:01 1448Java代码 要点如下: ... -
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 1119In Hibernate, only the “relatio ... -
ibatis和hibernate区别
2011-04-13 17:34 827ibatis:sql需要自己写 hibe ... -
Hibernate StackOverFlowError 异常出现的原因
2011-04-13 16:51 1275引起StackOverFlowError异常的一般是因为在程序 ...
相关推荐
通过合理的关联设计,可以简化对象模型与数据库之间的转换,提高开发效率,减少潜在的错误。在实际项目中,开发者应根据业务需求灵活选择关联类型,并合理配置各种属性,以实现最佳的数据管理效果。
本文将针对几个常见的Hibernate错误进行深入分析,并提供相应的解决方法。这些错误包括但不限于 `org.springframework.orm.ObjectRetrievalFailureException`、`org.springframework.beans.factory....
### Hibernate学习总结与知识点详解 #### 一、Hibernate产生的背景及优势 Hibernate作为一个持久层框架,它的诞生解决了传统编程模式中业务逻辑与数据库访问代码混杂的问题,这不仅导致程序结构混乱,降低代码的...
《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`接口,特别是使用...