
Hibernate
文章平均质量分 53
-droidcoffee-
这个作者很懒,什么都没留下…
展开
-
Data truncation: Truncated incorrect DOUBLE value
在update 的时候 写了一条如下的sql语句update users set username = 'd4' and password = 'erererer55555' where id = 140012;会报错 如下:ERROR 1292 (22007): Truncated incorrect DOUBLE value: 'd4'改成 如下的 sqlmysql> up原创 2011-03-18 16:47:00 · 41055 阅读 · 9 评论 -
hibernate 无法返回 查询的数据
<br /> List ls = new ArrayList(); try{ Transaction tx = this.getSession().getTransaction(); tx.begin(); Query query = this.getSession().createQuery(hql); ls = query.list(); this.getSession().flush(); tx.commit(); }catch(Excep原创 2010-06-08 23:49:00 · 3715 阅读 · 1 评论 -
对于 hibernate 查询结果List 中数据的拷贝。。。。。。。
<br />今天遇到了一个问题:很费解<br />对query.list()返回的数据进行更改, 将同时会反映(更新)到数据表中<br /> <br />然后 我用<br />List ls = new AyyayList();<br />ls.addAll(query.list()); <br />ls中的元素依然是query.list()的引用<br />很无语。 可能是由于 query.list()运用了 动态代理的关系吧<br /> <br />目前还没有好的解决方案<br /> <br原创 2010-06-09 14:35:00 · 1596 阅读 · 0 评论 -
spring 事务管理下的 hibernate 持久化实例操作的几点问题【查询/更新】
<br />在 一个 method 中 进行如下操作<br /> <br /> Query query = this.getSession().createQuery(hql); ls = query.list(); TestBean oo = (TestBean) ls.get(0); oo.setUsername("1111");<br /> <br /> <br />由于hibernate 事务 交给了hibernate 所以:<br /> <br />原创 2010-06-09 10:15:00 · 1590 阅读 · 0 评论 -
hibernate 在 web server 启动的时候 无法自动生成 table 表
再我写代码的过程中 我遇到这么几种1: hibernate 的hbm.xml 文件配置错误: 如下这个也很奇怪 : 改成如下形式就ok了2: 数据库移植过程中遇到如下情况: dialect 搞错了 org.hibernate.dialect.MySQLDialect原创 2010-06-08 23:31:00 · 1168 阅读 · 0 评论 -
Hibernate的视图功能
<br />Hibernate3增加了视图功能<br /><br />1. 定义hbm <class name="Customer" table="customer"> <br /> <id name="id" unsaved-value="0" column="id"><br /> <generator class="hilo"/><br /> </id> <br /> <property name="na转载 2010-06-08 13:08:00 · 1125 阅读 · 0 评论 -
hibernate 二级缓存
<br />Hibernate二级缓存也称为进程级的缓存或SessionFactory级的缓存。二级缓存是全局缓存,它可以被所有的session共享。二级缓存的生命周期和SessionFactory的生命周期一致,SessionFactory可以管理二级缓存。<br />二级缓存的配置使用:<br />1.在crc下创建echcache.xml文件,其内容如下:<br /><ehcache> <diskStore path="java.io.tmpdir"/> <defaultCache maxEl原创 2010-06-03 07:41:00 · 900 阅读 · 0 评论 -
hibernate 二级缓存
<br />首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:<br /><?xml version="1.0" encoding="UTF-8"?><br /><ehcache><br /> <diskStore path="java.io.tmpdir"/> <br /> <defaultCache<br /> maxElementsInMemory="10000" <!-- 缓存最大数目 --><br /> eternal转载 2010-06-03 07:28:00 · 726 阅读 · 0 评论 -
Hibernate 批量处理
<br />批量插入 <br /> 在项目的开发过程之中,由于项目需求,我们常常需要把大批量的数据插入到数据库。数量级有万级、十万级、百万级、甚至千万级别的。如此数量级别的数据用Hibernate做插入操作,就可能会发生异常,常见的异常是OutOfMemoryError(内存溢出异常)。 <br /> 首先,我们简单来回顾一下Hibernate插入操作的机制。Hibernate要对它内部缓存进行维护,当我们执行插入操作时,就会把要操作的对象全部放到自身的内部缓存来进行管理。 <br />转载 2010-06-03 07:23:00 · 853 阅读 · 0 评论 -
spring中配置二级缓存
<br />1.首先,在spring的hibernate配置里(我的是applicationContext-hibernate.xml) 加上如下属性:<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </proper转载 2010-07-15 00:21:00 · 1643 阅读 · 1 评论 -
Hibernate 继承映射
<br />public class Staff { /** * 主键 */ private int id; /** * 员工姓名 */ private String staffName; .....}/** * 正式工 */public class FormalStaff extends Staff { /** * 编号 */ private String staffId; .....}/** *原创 2010-07-15 23:38:00 · 1153 阅读 · 0 评论 -
Hibernate : org.hibernate.MappingException: Unknown entity: cn.sys.bean.SysUser
hibernate 在保存实体的时候 如果操作不当会报如下错误 :org.hibernate.MappingException: Unknown entity: cn.sys.bean.SysUser at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:701) at org.hibernate.impl.SessionImpl.getEntityPersister(SessionI原创 2010-06-16 02:09:00 · 5684 阅读 · 0 评论 -
hibernate DBCP 连接池使用的几点问题
<br />spring-applicationCOntext.xml 中 <br /> <br />!-- 连接池的最大连接数量 --><property name="maxActive" value="500" /><br /> <br />再一个 Test 类中<br /> <br />package cn.junit.test;import junit.framework.TestCase;import org.junit.Before;import org.sprin原创 2010-06-16 13:21:00 · 1873 阅读 · 0 评论 -
hibernate 级联删除时候的两种情况 之(二) 删除从表,无法删除关系表
<br />其中从表是关系被维护端:<br /> <br />Hibernate实现多对多关系映射有两种方法: <br />1.通过配置两个一对多来实现多对多,既三张数据表,三个实体,同时配置<component>组件模块,唯一缺点是要同时实现这个外键中间表的增删查改功能. <br />2.通过配置双方的<set>模块来实现,同时两个实体的bo对象都有对方的Set集合,而inverse必须设置主控方为false,被控方为inverse=true,如果双方都为true(即都为被控方)那就没人来维护关系,那么更原创 2011-03-02 00:41:00 · 10881 阅读 · 0 评论 -
hibernate 级联删除时候的两种情况 之(一) 删除主表、关系表跟从一并都删除了
文章转自 :http://www.85java.com/thread-2186-1-1.html前阵子,使用Hibernate删除多对多删除的时候遇到了点问题,情况是这样的: A表和B表存在多对多关系,设计表关联时,创建中间表C,定义两个外键字段A_ID和B_ID,分别关联A表主键和B表主键。 在A表对应的hbm文件中,...上面的cascade设定了级联删,本意是想删除A记录时,顺便清除中间表的关联记录,然而并未如此,删除A记录时,不仅删了中间表的记录,连B表中关联的记录也一并被删除了,这样的操作有时是不原创 2011-03-02 00:40:00 · 8064 阅读 · 0 评论 -
hibernate 批量操作
<br /> <br />java 批量操作<br />网数据表里插入100 0000 条记录<br /> <br />EntityTransaction tx = em.getTransaction(); tx.begin(); int i=0; try { for(;i<1000000;i++){ User user = new User(); user.setAge(18); user.setUsername("sddfdf"); us原创 2010-12-30 14:44:00 · 1936 阅读 · 0 评论 -
ehcache 配置详解
<br /><?xml version="1.0" encoding="UTF-8"?> <br /><!--<br /><br />CacheManager配置<br />==========================<br /> <br /><br />一个ehcache.xml 相当于一个单个的CacheManager<br /><br />学习下面的说明或者ehcache构架(ehcache.xsd)怎样配置<br /><br />系统资源标识在这个文件中能被具体制定,当配置被加载时转载 2010-12-27 18:20:00 · 4378 阅读 · 0 评论 -
Hibernate 缓存
<br />hibernate的一级缓存<br />hibernate的session提供了一级缓存,每个session,<br />对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。<br /> <br />====<br /> <br />本人在基于hibernate 的JPA2.0的实现中测试如下:<br /> <br />em = emf.createEntityManager(); em.find(User.class, 1);原创 2010-12-24 17:09:00 · 1318 阅读 · 0 评论 -
Hibernate 缓存
<br />关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了。这个和长尾理论正好相悖,其实也不是相悖,只是不同的理论使用的场景不同。在80/20 原则生效的地方,我们都应该考虑是否可以使用缓存。但即使是这样,缓存也有不同的用法,举个例子,一个网站的首页估计是被访问的次数最多的,我们可以考虑给首页做一个页面缓存,而如果在某个页面上,比如说javaeye 的java 版区只有前几个页面是访问最频繁的,(假设javaeye 是使转载 2010-12-24 18:31:00 · 1085 阅读 · 0 评论 -
JPA 缓存 文章推荐
<br />http://java.dzone.com/articles/jpa-caching<br /> <br />JPA has 2 levels of caching. The first level of caching is the persistence context. <br /><br /><br />The JPA Entity Manager maintains a set of Managed Entities in the Persistence Context. <br />转载 2010-12-24 18:27:00 · 2868 阅读 · 0 评论 -
Hibernate中的getCurrentSession和openSession
<br />@Test public void T1() { Teacher t = new Teacher(); t.setGender(Gender.femal); t.setName("abc"); t.setId(2); t.setGood(true); Session session,session2; /** * getCurrentSessio转载 2010-12-27 13:29:00 · 1145 阅读 · 0 评论 -
【转】org.hibernate.DuplicateMappingException: duplicate import:
<br />org.hibernate.DuplicateMappingException: duplicate import: <br /><br /><br />例如异常信息如下:<br /> duplicate import: User refers to both org.jbpm.identity.User and com.xiaobai.oa.model.User (try using auto-import="false")<br />大概意思是:重复引入User类 分别引用的是 o转载 2010-08-16 10:53:00 · 6203 阅读 · 1 评论 -
Hibernate 二级缓存 使用
<br />//javabeanpublic class User { private int id; private String username; private String password;//setter getter}<br /> <br />// 使用 缓存<br /> <br />User 使用缓存<br /> <br /><hibernate-mapping package="tao.hib.bean"> <class name="User" tabl原创 2010-07-15 20:54:00 · 3293 阅读 · 1 评论 -
Hibernate 二级缓存 ehcache.xml 的相关配置的几点问题
<br />先看一个示例文件<br /> <br /><?xml version="1.0" encoding="UTF-8"?><ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> <!-- maxElementsInMemory为缓存对象的最大数目, eternal设置是否永远不过期原创 2010-07-15 00:18:00 · 9801 阅读 · 0 评论 -
hibernate映射视图的两种方式
本文出自 http://huntersxp.javaeye.com/blog/230719hibernate映射视图的两种方式1.数据库已经建立视图,hibernate只是把视图当作普通的表来映射。 视图VIEW_MER_INST_POS: select MER.DAYS_MERCHT_ID MER_ID, INST.DAYS_MERCHT_ID INST_I转载 2010-04-06 11:23:00 · 15817 阅读 · 0 评论 -
one-to-one 映射
one to one "persistent class not known" 个人认为是配置的问题,one-to-one标签的两种用法: 1.一端使用: 另一端可以是: 2.在配置中unique="true": 一端使用: 另一端使用:原创 2010-03-29 14:36:00 · 1916 阅读 · 0 评论 -
hibernate 双向一对多的实现
在测试Hibernate的一对多双向关联映射时,碰到很有趣的问题,跟inverse属性直接相关。1、People.hbm.xml<hibernate-mapping default-lazy="false"> <class name="com.persistent.People" table="people"> <id name="id" column="peopleId" unsaved转载 2010-03-30 10:50:00 · 1279 阅读 · 0 评论 -
hibernate3 one-to-one总结之主外键关联
在hibernate3中,one-to-one关联主要通过3种方式来实现:(1)共享的关联主键(2)主外键关联(3)通过关联表关联其中,第一和第二中关联很常见,第三种关联因为效率关系很少使用。下面是主外键关联简单的例子:Sql代码 create table person ( person_id bigint primary key,转载 2010-03-24 14:10:00 · 4748 阅读 · 0 评论 -
Hibernate 查询
1. 查询整个映射对象所有字段//直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query = session.createQuery(hql); List users = query.list();转载 2010-03-23 10:53:00 · 1003 阅读 · 0 评论 -
java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager
java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager原创 2010-03-14 09:20:00 · 1818 阅读 · 0 评论 -
node to traverse cannot be null!
Exception in thread "main" java.lang.IllegalArgumentException: node to traverse cannot be null! at org.hibernate.hql.ast.util.NodeTraverser.traverseDepthFirst(NodeTraverser.java:55) at org.hibernate.h原创 2009-12-21 10:55:00 · 4411 阅读 · 0 评论 -
Hibernate 一对一外键单向关联
.Hibernate 一对一外键单向关联 事实上,单向1-1与N-1的实质是相同的,1-1是N-1的特例,单向1-1与N-1的映射配置也非常相似。只需要将原来的many-to-one元素增加unique="true"属性,用于表示N的一端也必须是唯一的,在N的一端增加了唯一的约束,即成为单向1-1。基于外键的单向1-1的配置将与无连接表N-1关联的many-to-one增加un转载 2009-12-21 20:17:00 · 888 阅读 · 0 评论 -
hibernate里load方法和get方法的区别
关键字: hibernate load get 区别 网上有许多关于load和get方法的讨论,自己做了一个小小的实验,明确一下load和get方法的工作原理。首先get方法没有什么可说的,就是在Session执行此函数的时候hit一下数据库,而load方法比较麻烦,具体的执行流程是这样的:java 代码 Session session=getSessionFactory(原创 2010-02-27 08:25:00 · 815 阅读 · 0 评论 -
hibernate 一个实体类映射到不同的表中
<br />public class Staff{<br /> private int id;<br /> <br /> private String staffName;<br /> <br /> <br /> private Contract contract;<br /> <br /> ----------<br />}<br /> <br /> <br /> <br /> <br />a.hbm.xml<br /> <br /> <class name="cn.rs原创 2010-04-04 01:10:00 · 2449 阅读 · 0 评论 -
hibernate 双向多对一 many-to-one 映射 关联查询
staffContract"> class="cn.xyurp.rsgl.bean.Staff" entity-name="StaffContract" column="staffContract"> 一对多 双向关联, 如果 key 的 column 属性 与 many-to-原创 2010-04-04 21:43:00 · 2491 阅读 · 0 评论 -
Hibernate 映射 oracle 的 date 类型的变量 : 字段名不能映射为关键字
<br />包一连串的错误: 如下<br /> <br /> <br />ORA-00928: 缺少 SELECT 关键字<br /> <br />ERROR AbstractFlushingEventListener:324 - Could not synchronize database state with session<br /><br />org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch updat原创 2010-07-07 17:39:00 · 3856 阅读 · 0 评论 -
Hibernate : Load get 方法使用 上的一些问题
<br />org.hibernate.LazyInitializationException: could not initialize proxy <br /> <br />// 我进行如下操作 <br />this.getRequest().setAttribute("common",this.sysModuleService.find(this.common.getId()));<br /><br />(其中 find 方法 通过 session.load(id) 返回实体)<br /><br原创 2010-07-02 16:33:00 · 1542 阅读 · 0 评论 -
hibernate 继承 映射中的几点问题
public class SysModule { /** * 主键 */ private int id; /** * 唯一标示 */ private String sn; /** * 模块名称 */ private String sysModuleName;原创 2010-04-30 11:23:00 · 1123 阅读 · 0 评论 -
hibernate 脏数据检查 dirtyCheck
在对hibernate中的关联表进行数据更新时 会对数据机型脏数据检查 该操作的主要方法:dirtyCheck 该位于org.hibernate.event.def.DefaultFlushEntityEventListener protected void dirtyCheck(FlushEntityEvent event) throws HibernateExcep原创 2010-04-28 08:58:00 · 3540 阅读 · 0 评论 -
hibernate 生成的 sql 语句 ? 代值
转自: http://hi.baidu.com/beanchx/blog/item/ed056509d66f65cc3bc763f4.htmlp6spy的替代品:jdbc logger2007年09月13日 下午 01:07首先介绍一下这个开源的项目。这个是一个对jdbc中的sql进行logger的一个工具。若在项目中采用了较多的preparedStatemen转载 2010-04-27 17:04:00 · 2547 阅读 · 0 评论