
hibernate
文章平均质量分 86
phantomes
这个作者很懒,什么都没留下…
展开
-
hibernate的11种主键生成方式
hibernate提供了很多种主键的生成方式,以解决实际开发中各种不同的数据库以及其主键的策略,以前的时候,也有用过很多种,但是都不全面,这次在书上看到了,便记录下来,方便以后查看,使用。 1.Assigned:主键有应用的逻辑产生,数据经由hibernate保存时,主键值以设置完毕,无需hibernate干预。 2.hilo:通过hi/lo算法,实现主键生成机制,原创 2012-11-04 14:03:02 · 1537 阅读 · 0 评论 -
Hibernate并发控制乐观锁实现-Version
通过在表中及POJO中增加一个version字段来表示记录的版本,来达到多用户同时更改一条数据的冲突数据库脚本: create table studentVersion (id varchar(32),name varchar(32),ver int);POJO package Version;public class Student { pri...原创 2013-03-29 09:31:22 · 124 阅读 · 0 评论 -
Hibernate面试题
什么是Hibernate的并发机制?怎么去处理并发问题?Hibernate并发机制:a、Hibernate的Session对象是非线程安全的,对于单个请求,单个会话,单个的工作单元(即单个事务,单个线程),它通常只使用一次,然后就丢弃。如果一个Session 实例允许共享的话,那些支持并发运行的,例如Http request,session beans将会导致出现资源争用。如果在Http S...2012-11-04 09:37:06 · 108 阅读 · 0 评论 -
hibernate的11种主键生成方式
hibernate提供了很多种主键的生成方式,以解决实际开发中各种不同的数据库以及其主键的策略,以前的时候,也有用过很多种,但是都不全面,这次在书上看到了,便记录下来,方便以后查看,使用。 1.Assigned:主键有应用的逻辑产生,数据经由hibernate保存时,主键值以设置完毕,无需hibernate干预。 2.hilo:通过hi/lo算法,实现主键生成机制,需要额外的...2012-11-04 14:06:52 · 133 阅读 · 0 评论 -
hibernate联合主键
在日常开发中,有时候会出现要求两个或以上字段联合做主键的表,就两个字段做主键为例,用户表的联合主键为firstname和lastname,商品表的联合主键为id和pid等等。而在hibernate中,也提供了composite-id节点,对复合主键进行支持和定义。 为了说的更加详细,我们这里先新建一个T_User表,其中的firstname和lastname为该表的联合主键: ...2012-11-05 11:19:05 · 155 阅读 · 0 评论 -
hibernate引用查询和联合查询
一、引用查询 日常开发时常会如下的编码规范:“代码中不允许出现sql语句”,其实这里面的意图其实很明显,sql语句混杂在代码之间会破坏代码的可读性和维护性,此时,有人难免失望,那怎么办,难道让我开发到这里,写了这么多的配置文件,突然之间就去换成ibatis???噩梦啊....... 其实大可不必,为了符合上述的编码规范,我们通常采用sql配置化的方式,将sql语句保存在配...2012-11-06 10:50:19 · 112 阅读 · 0 评论 -
hibernate数据加载方式[及时,延时,预先,批量]
在传统的JDBC操作里,通常通过sql语句查询加载所需要的数据,当sql提交之后,这些数据也就被读取待用了,而在hibernate里,我们拥有了更多的数据加载的方式。以实现不同种的需求。 hibernate支持以下四种数据加载方式: 1、及时加载(Immediate Loading)--实体加载后,立即加载其关联数据。 2、延迟加载(Lazy Loading)--实体加载后,关...原创 2012-11-06 13:44:30 · 262 阅读 · 0 评论 -
hibernate的缓存
缓存是数据库在内存中的临时容器,它包含了库表数据在内存中的临时拷贝,位于数据库和数据访问层中间。相对内存操作而言,数据库调用是一个代价高昂的过程,对于典型的企业级应用,数据库往往与应用服务器位于不同的物理服务器,这意味着每次数据访问都是一次远程调用,socket的创建于销毁,数据的打包拆包,数据库执行查询命令,网络传输上的必然延迟等等,这些消耗,方方面面的对我们系统的性能在进行影响。 ...2012-11-06 16:17:52 · 112 阅读 · 0 评论 -
hibernate的事务管理
在讲解hibernate的事物管理之前,我们必须首先明白一些基本的概念,以此帮助理解,为什么要事物管理这个东西,有它之后有什么用,它有哪些基本特性或者限制, 那么第一点,我们该知道的就是事物的4个基本特性,也就是我们常说的ACID【原子性,一致性,隔离性,持久性】; 第二点,应该知道的是,事物的隔离级别,即通过某种机制,在并发运行的多个事物之间进行分隔,使其保持执行时的独立性...2012-11-08 14:05:22 · 111 阅读 · 0 评论 -
hibernate的锁
业务实现过程中,难免需要保证数据访问的排他性。如金融系统的日终结算中,我们会针对某个截止点的数据进行处理,在此同时,不希望在结算的这段时间里(几秒钟或者几个钟头),数据再有变动,不然我们的统计也无效了。这种时候,我们为了保证某些数据在某个操作中不被外界修改,就引入了我们hibernate的锁机制,一旦我们给目标上锁,其他程序则不能去修改。hibernate中锁是两种,悲观和乐观锁。、 ...2012-11-08 15:33:17 · 156 阅读 · 0 评论 -
hibernate笔记总结
1.什么是Hibernate,有什么用?什么时候使用? Hibernate框架,用于对数据库访问和操作.是对JDBC的轻量级封装. Hibernate现已被JBOSS公司收购,用于实现EJB中的EntityBean JavaEE EJB-->EJB容器-->JBOSS,Weblogic,WebSphere EJB有三种类型 Sessio...2012-11-20 13:05:32 · 187 阅读 · 0 评论 -
hibernate一对多关联关系配置经验
假使有一个order表和一个customer表,那么它们两者的关系是一个customer可以有多个order,一个order只能属于一个customer,在hibernate中,他们的配置如下:<?xml version="1.0"?><!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping ...2013-05-02 14:02:33 · 106 阅读 · 0 评论 -
JPA的Embeddable注解
来源于http://zjsword2000.blog.163.com/blog/static/4583983320083184844734/ 在hibernate中实现自定义类型,只要实现UserType接口即可或者以Component的形式提供.JPA的@Embedded有点类似,通过此注释可以在你的Entity中使用一般的java对象,此对象需要用@Embeddab...2013-06-17 14:17:32 · 331 阅读 · 0 评论 -
Hibernate Tools的使用
- Hibernate的配置文件hibernate.cfg.xml的生成 步骤: 1)Eclipse的菜单:选择[File] -> [New] -> [Other] -> [Hibernate/Hibernate Configuration file (cfg.xml) ],“Next”按钮 2)输入 [Database dialect] ,[Driver Class],...2013-06-08 10:18:48 · 111 阅读 · 0 评论 -
hibernate检索策略总结
大致说来,hibernate提供了3中检索策略:1、立即检索:在<class> , <set> ,和<many-to-one>元素中,”lazy“属性设为false,即立即加载,2、延迟检索:在<class>元素中,lazy=true;在<set>中,lazy=true或者extra;在<many-to-...2013-06-08 15:19:47 · 153 阅读 · 0 评论 -
hibernate连接查询总结
假使现在有两张关联表,customer和order,一般情况下是一个customer可以对应多个order,而一个order只能对应一个 customer;那么order中会有个customer对象作为属性,hbm中会有个many-to-one;而customer中,会有一个 set<Order>,hbm中会有一个one-to-may. 下面我们研究下在各种连接方式下的查询的...2013-06-09 11:20:13 · 120 阅读 · 0 评论 -
hibernate注解demo
用一个简单的例子,来记一下,hibernate的部分注解的使用和配置。我这里还是举出一些最常见的,如单向和双向的一对多,单向和双向的多对多。新建个Java工程,做测试类来说明,我打算这样干。 首先是单向的一对多,代码如下,先是两个实体类: package cn.serup.model;import java.util.Set;import javax.persis...2013-06-13 17:21:01 · 119 阅读 · 0 评论 -
c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
解决的思路是:MySQL配置中my.cnf的wait_timeout值一定要大于等于连接池种的idle_timeout值。否则mysql会在wait_timeout的时间后关闭连接,默认的关闭连接的时间为8小时。MySQL连接时,服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。conne转载 2014-10-29 11:42:30 · 1407 阅读 · 0 评论 -
Hibernate面试题
什么是Hibernate的并发机制?怎么去处理并发问题?Hibernate并发机制:a、Hibernate的Session对象是非线程安全的,对于单个请求,单个会话,单个的工作单元(即单个事务,单个线程),它通常只使用一次,然后就丢弃。如果一个Session 实例允许共享的话,那些支持并发运行的,例如Http request,session beans将会导致出现资源争用。如果原创 2012-11-04 09:33:05 · 922 阅读 · 0 评论 -
hibernate联合主键
在日常开发中,有时候会出现要求两个或以上字段联合做主键的表,就两个字段做主键为例,用户表的联合主键为firstname和lastname,商品表的联合主键为id和pid等等。而在hibernate中,也提供了composite-id节点,对复合主键进行支持和定义。 为了说的更加详细,我们这里先新建一个T_User表,其中的firstname和lastname为该表的联合主键:原创 2012-11-05 11:16:23 · 887 阅读 · 0 评论 -
hibernate引用查询和联合查询
一、引用查询日常开发时常会如下的编码规范:“代码中不允许出现sql语句”,其实这里面的意图其实很明显,sql语句混杂在代码之间会破坏代码的可读性和维护性,此时,有人难免失望,那怎么办,难道让我开发到这里,写了这么多的配置文件,突然之间就去换成ibatis???噩梦啊....... 其实大可不必,为了符合上述的编码规范,我们通常采用sql配置化的方式,将sql语句保存在配置文原创 2012-11-06 10:50:42 · 1987 阅读 · 1 评论 -
hibernate数据加载方式
在传统的JDBC操作里,通常通过sql语句查询加载所需要的数据,当sql提交之后,这些数据也就被读取待用了,而在hibernate里,我们拥有了更多的数据加载的方式。以实现不同种的需求。 hibernate支持以下四种数据加载方式:1、及时加载(Immediate Loading)--实体加载后,立即加载其关联数据。2、延迟加载(Lazy Loading)--实体加原创 2012-11-06 13:42:06 · 954 阅读 · 0 评论 -
hibernate的缓存
缓存是数据库在内存中的临时容器,它包含了库表数据在内存中的临时拷贝,位于数据库和数据访问层中间。相对内存操作而言,数据库调用是一个代价高昂的过程,对于典型的企业级应用,数据库往往与应用服务器位于不同的物理服务器,这意味着每次数据访问都是一次远程调用,socket的创建于销毁,数据的打包拆包,数据库执行查询命令,网络传输上的必然延迟等等,这些消耗,方方面面的对我们系统的性能在进行影响。原创 2012-11-06 16:14:45 · 693 阅读 · 0 评论 -
hibernate的事务管理
在讲解hibernate的事物管理之前,我们必须首先明白一些基本的概念,以此帮助理解,为什么要事物管理这个东西,有它之后有什么用,它有哪些基本特性或者限制, 那么第一点,我们该知道的就是事物的4个基本特性,也就是我们常说的ACID【原子性,一致性,隔离性,持久性】; 第二点,应该知道的是,事物的隔离级别,即通过某种机制,在并发运行的多个事物之间进行分隔,使其保持执行原创 2012-11-08 14:02:11 · 570 阅读 · 0 评论 -
hibernate的锁
业务实现过程中,难免需要保证数据访问的排他性。如金融系统的日终结算中,我们会针对某个截止点的数据进行处理,在此同时,不希望在结算的这段时间里(几秒钟或者几个钟头),数据再有变动,不然我们的统计也无效了。这种时候,我们为了保证某些数据在某个操作中不被外界修改,就引入了我们hibernate的锁机制,一旦我们给目标上锁,其他程序则不能去修改。hibernate中锁是两种,悲观和乐观锁。、原创 2012-11-08 15:30:21 · 760 阅读 · 0 评论 -
hibernate笔记总结
1.什么是Hibernate,有什么用?什么时候使用? Hibernate框架,用于对数据库访问和操作.是对JDBC的轻量级封装. Hibernate现已被JBOSS公司收购,用于实现EJB中的EntityBean JavaEE EJB-->EJB容器-->JBOSS,Weblogic,WebSphere EJB有三种类型 SessionBean(会话B原创 2012-11-20 13:01:34 · 828 阅读 · 0 评论 -
object references an unsaved transient instance - save the transient instance be
异常1:not-null property references a null or transient value解决方法:将“一对多”关系中的“一”方,not-null设置为false(参考资料:http://www.thearcmind.com/confluence/pages/viewpage.action?pageId=212)异常2:org.hibernate.Tran原创 2012-12-27 16:05:53 · 918 阅读 · 0 评论 -
Hibernate并发控制乐观锁实现-Version
通过在表中及POJO中增加一个version字段来表示记录的版本,来达到多用户同时更改一条数据的冲突数据库脚本: create table studentVersion (id varchar(32),name varchar(32),ver int);POJO package Version;public class Student { priv原创 2013-03-29 09:30:21 · 1137 阅读 · 0 评论 -
hibernate一对多关联关系配置经验
假使有一个order表和一个customer表,那么它们两者的关系是一个customer可以有多个order,一个order只能属于一个customer,在hibernate中,他们的配置如下:Xml代码 xml version="1.0"?> PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hib原创 2013-05-02 13:57:28 · 1090 阅读 · 0 评论 -
hibernate连接查询总结
假使现在有两张关联表,customer和order,一般情况下是一个customer可以对应多个order,而一个order只能对应一个customer;那么order中会有个customer对象作为属性,hbm中会有个many-to-one;而customer中,会有一个set,hbm中会有一个one-to-may. 下面我们研究下在各种连接方式下的查询的策略及结果,并对其归纳总结,原创 2013-06-09 11:18:15 · 1668 阅读 · 0 评论 -
hibernate检索策略总结
大致说来,hibernate提供了3中检索策略:1、立即检索:在 , ,和元素中,”lazy“属性设为false,即立即加载,2、延迟检索:在元素中,lazy=true;在中,lazy=true或者extra;在中,lazy为“proxy”或者“no-proxy”。3、迫切做外连接检索:在和元素中,fetch=“join”。class中无此属性。 一般来说,立即检索(lazy原创 2013-06-08 15:20:57 · 874 阅读 · 0 评论 -
hibernate注解demo
用一个简单的例子,来记一下,hibernate的部分注解的使用和配置。我这里还是举出一些最常见的,如单向和双向的一对多,单向和双向的多对多。新建个Java工程,做测试类来说明,我打算这样干。 首先是单向的一对多,代码如下,先是两个实体类: Java代码 package cn.serup.model; import java.util.Set; imp原创 2013-06-13 17:24:41 · 1712 阅读 · 0 评论 -
JPA的Embeddable注解
来源于http://zjsword2000.blog.163.com/blog/static/4583983320083184844734/ 在hibernate中实现自定义类型,只要实现UserType接口即可或者以Component的形式提供.JPA的@Embedded有点类似,通过此注释可以在你的Entity中使用一般的java对象,此对象需要用@Embeddabl原创 2013-06-17 14:18:15 · 1682 阅读 · 0 评论 -
Hibernate Tools的使用
- Hibernate的配置文件hibernate.cfg.xml的生成步骤:1)Eclipse的菜单:选择[File] -> [New] -> [Other] -> [Hibernate/Hibernate Configuration file (cfg.xml) ],“Next”按钮2)输入 [Database dialect] ,[Driver Class],[Connectio原创 2013-06-08 10:19:49 · 990 阅读 · 0 评论 -
object references an unsaved transient instance - save the transient instance be
异常1:not-null property references a null or transient value解决方法:将“一对多”关系中的“一”方,not-null设置为false(参考资料:http://www.thearcmind.com/confluence/pages/viewpage.action?pageId=212)异常2:org.hibernate.Transient...2012-12-27 16:10:24 · 157 阅读 · 0 评论