
Hibernate
ibenben.org
喜欢编程的管理人员...
展开
-
第四章 Hibernate中的持久化对象的生命周期
4.1提供对象状态管理的目的 使开发者不再需要理会底层数据库系统的细节 使用Hibernate的开发者应该总是关注对象的状态(state),不必考虑SQL语句的执行4.2 Hibernate 仅仅定义了三种状态:瞬时(临时)、持久和脱管(游离),对客户端代码隐藏了其内部实现的复杂性4.2.1 瞬时对象(Transient Object):Hibernate中的持原创 2013-05-23 16:18:21 · 1357 阅读 · 0 评论 -
第十二章 hibernate缓存
1、一级缓存(Session级缓存)一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存那些方法支持一级缓存:*get()*load()*iterate(查询实体对象)如何管理一级缓存:*session.clear(),session.evict()如何避免一次性大量的实体数据入库导致内存溢出方法1:先flush,再c原创 2013-06-13 14:33:36 · 1545 阅读 · 0 评论 -
第十三章 事务并发处理
Hibernate是JDBC的轻量级封装,本身并不具备事务管理能力,在事务管理层,Hibernate将其委托给底层的JDBC或者JTA,以实现事务的管理和调度。 Hibernate的默认事务处理机制基于JDBCTransaction,也可以通过配置文件设定采用JTA作为事务管理实现。14.1基于JDBC的事务管理 这里要注意的是,在session原创 2013-06-13 14:38:17 · 1341 阅读 · 0 评论 -
第九章 关系映射 多对一关联映射
如:department与employeeemployee中有一个department_id的外键Department:public class Department implements Serializable { private Integer id; private String name; public Department() { } public Integ原创 2013-06-06 10:47:16 · 1242 阅读 · 0 评论 -
第九章 关系映射 一对多关联映射
如:department与employeeemployee中有一个department_id的外键Department:public class Department implements Serializable { private Integer id; private String name; private Set employees; public Set getE原创 2013-06-06 10:54:36 · 2013 阅读 · 0 评论 -
第九章 关系映射 集合关联映射
基本上所有集合关联映射都是在一对多,多对多操作的时候使用。1、set我们之前在做一对多操作的时候,多的一方就是一个set.一对多的例子:http://blog.youkuaiyun.com/p_3er/article/details/9036921实体类中:private Set employees; 对应的映射文件:原创 2013-06-08 10:18:04 · 1553 阅读 · 0 评论 -
第九章 关系映射 多对多关联映射
表设计:有一张中间表,中间表中有两张关联表的外键如:student与teacherStudent:package cn.framelife.mvc.entity;import java.util.Set;public class Student { private Integer id; private String name; private Set t原创 2020-12-21 15:13:53 · 1684 阅读 · 0 评论 -
第九章 关系映射 组件关联映射
组件是针对同一张表中的字段进行映射,作用是将字段多的一张表分成多个实体类来表示。如:name与useruser表中有first_name及last_name。在实体类中,自定义一个Name类来表示first_name与last_name;Name实体类:package cn.framelife.mvc.entity;public class Name { privat原创 2013-06-08 10:07:22 · 1526 阅读 · 0 评论 -
第九章 关系映射 继承关联映射
1、discriminator鉴别器同一张表中表示不同的类型在employee表中定义一个type字段,表示员工的类型name是所有的员工都有的属性。sale_count是销售员特有的属性。而skiller是技术人员特有的属性。三个实体类:Employee:package cn.framelife.mvc.entity;import原创 2013-06-08 10:46:11 · 1392 阅读 · 0 评论 -
第九章 关系映射 .hbm.xml简单写法与解释
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- hibernate映射文件的头文件以及dtd格式文件-->原创 2013-06-08 10:52:24 · 1886 阅读 · 0 评论 -
第十章 基于Annotation的关系映射 前期准备
1、使用MyEclipse生成基于Annotation的实体类与映射这个过程只和第三章所说的的内容基本相同。这是其中有两个地方得注意的。第三章的内容:http://blog.youkuaiyun.com/p_3er/article/details/8965305注意一: 在通过MyEclipse给项目增加Hibernate功能的时候。我们必须勾上Enable H原创 2013-06-09 11:13:04 · 1855 阅读 · 0 评论 -
Couldn't get connection because we are at maximum connection count (150/150) and there are none 异常解决
系统运行一段时间后发现出现这样的异常:Couldn't get connection because we are at maximum connection count (150/150) and there are none available解决方案:1、修改连接池的最大的连接数:10002、更改hibernate.connection.release_m原创 2013-12-13 11:49:29 · 13016 阅读 · 2 评论 -
JRainbow0.3.0使用手册
下载百度网盘地址:http://pan.baidu.com/s/1gdl68Un网盘中的三个文件分别为JRainbow0.3.0插件、32位Windows平台带JRainbow插件企业级eclipse、64位Linux平台带JRainbow插件企业级eclipse(本人自用版,带Git插件及Windowbuild插件)。如果需要其它版本的eclipse或原创 2014-04-09 20:51:59 · 1907 阅读 · 0 评论 -
Unknown column '*' in 'field list' 异常解决
在使用Hibernate做持久化的时候,为实体类定义一个与数据表无关的属性。出现异常如下:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'user0_.authority' in 'field list' at sun.reflect.NativeConstructorAcces原创 2014-10-28 15:41:20 · 45047 阅读 · 4 评论 -
error the @annotation pointcut expression is only supported at Java 5 compliance level or above 异常解决
1、异常信息严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException: Error原创 2015-05-15 15:35:33 · 6740 阅读 · 1 评论 -
Spring MVC的简单用法
一、Multiaction Controllerpackage cn.framelife.mvc.control;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.原创 2015-06-24 09:30:46 · 3655 阅读 · 0 评论 -
第十一章 Hibernate的查询 本地SQL查询
SQLQuery query = session.createSQLQuery("select * from user"); query.addEntity(User.class); List list = query.list(); for(User user : list){ System.out.println(user.getId() + "--" + user.原创 2013-06-13 11:41:04 · 1362 阅读 · 0 评论 -
第十一章 Hibernate的查询 Query by Criteria(QBC)
QBC(QueryByCriteria)查询方式是Hibernate提供的“更加面向对象”的一种检索方式。QBC在条件查询上比HQL查询更为灵活,而且支持运行时动态生成查询语句。 1、在Hibernate应用中使用QBC查询通常经过3个步骤 (1)使用Session实例的createCriteria()方法创建Criteria对象 (2)使用工具类Restrictions的相关方法原创 2013-06-13 11:38:56 · 3080 阅读 · 0 评论 -
第十一章 Hibernate的查询 Query Language(官方推荐使用)
主要是通过 org.hibernate.Query接口的实例来使用HQL语句进行查询。HQL语法:http://blog.youkuaiyun.com/p_3er/article/details/90645511、简单的查询(from+实体类名称)Query query = session.createQuery("from User"); List list = query.list();原创 2013-06-13 10:36:12 · 1672 阅读 · 0 评论 -
第三章 通过MyEclipse来开发Hibernate项目
使用MyEclipse来开发Hibernate项目,这里是使用先写数据表用工具生成映射和实体类(第二章2.2)的方式,数据库使用的是mysql5。3.1 通过MyEclipse中的Database Explorer来连接和管理数据库 展开MyEclipse的内置工具,选择MyEclipse Database Explorer原创 2013-05-23 15:15:48 · 3146 阅读 · 0 评论 -
第二章 Hibernate项目开发过程
2.1 先写实体类--作映射--生成数据库与表(官方推荐)2.2 先写数据表--用工具生成映射和实体类(使用比较多)2.3 由映射开始(少用)原创 2013-05-10 19:19:10 · 1318 阅读 · 0 评论 -
第一章 对象持久化与Hibernate
1.1 解耦合1.1.1 应用层解耦合--应用逻辑(service)和数据逻辑(dao)分离1.1.2 资源层解耦合--逻辑结构和物理结构分离1.2 DAO模式1.2.1 DAO对业务层提供数据抽象层接口数据存储逻辑分离数据访问底层实现的分离资源管理和调度的分离数据抽象1.3 ORM Object Relactional Mapper 对象--关系型数据映...原创 2013-05-10 19:16:31 · 1187 阅读 · 0 评论 -
第五章 Hibernate核心API介绍与其使用
5.1 Configuration接口5.1.1加载hibernate.cfg.xml并完成系统的配置 Configuration接口的作用是对Hibernate进行配置、并启动Hibernate和连接数据库系统。 在Hibernate的启动过程中,Configuration类的实例首先定位缺省XML配置文件(hibernate.cfg.xml),并读取关的配置原创 2013-05-27 19:36:36 · 1665 阅读 · 3 评论 -
第六章 Hibernate jar包
6.1 hibernate3.jar6.2 其它jar6.3 Hibernate所需要第三方类库的Jar包文件的列表原创 2013-05-27 20:10:33 · 1135 阅读 · 0 评论 -
第七章 Hibernate 常用配置(hibernate.cfg.xml)
com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1:3306/hibernate root test 20 true <!--jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速原创 2013-05-27 20:12:15 · 1267 阅读 · 0 评论 -
第八章 ID主键生成策略
increment (选查找数据库中的主键生成,然后再把对象insert进去)用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。 identity (主要用于mysql数据库)注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increment属性。对DB2,MySQL,原创 2013-05-27 20:13:44 · 2376 阅读 · 0 评论 -
第十章 基于Annotation的关系映射 多对一与一对多
如果下面部分内容有不明白的可以查找:基于Annotation的关系映射 前期准备:http://blog.youkuaiyun.com/p_3er/article/details/9061911基于xml的多对一:http://blog.youkuaiyun.com/p_3er/article/details/9036759基于xml的一对多:http://blog.youkuaiyun.com/p_3er/articl原创 2013-06-09 11:58:31 · 1455 阅读 · 0 评论 -
第十章 基于Annotation的关系映射 一对一
如果下面部分内容有不明白的可以查找:基于Annotation的关系映射 前期准备:http://blog.youkuaiyun.com/p_3er/article/details/9061911基于映射文件共享主键方式实现一对一:http://blog.youkuaiyun.com/p_3er/article/details/9004419基于映射文件唯一外键式实现一对一:http://blog.csdn.n原创 2013-06-09 11:45:35 · 1609 阅读 · 0 评论 -
第十章 基于Annotation的关系映射 多对多
如果下面部分内容有不明白的可以查找:基于Annotation的关系映射 前期准备:http://blog.youkuaiyun.com/p_3er/article/details/9061911基于xml的多对多:http://blog.youkuaiyun.com/p_3er/article/details/9053415Student:@Entity@Table(name = "stud原创 2013-06-09 12:01:39 · 1205 阅读 · 0 评论 -
第十一章 Hibernate的查询 Hibernate可以使用的查询语言
我们在之前讲Hibernate的核心API的时候,我们知道可以通过Session对象根据实体类及id可以获取到单个数据对象。那么我们如果想像JDBC的使用一样,想通过一些特定的条件来获取我们想要的数据我们应该怎么样做呢。这就是我们今天要学习的内容--Hibernate的查询。 Session的查询相关的内容在第五章里面:http://blog.youkuaiyun.com/p_3er/art原创 2013-06-09 14:52:14 · 1103 阅读 · 0 评论 -
第十一章 Hibernate的查询 HQL面向对象的查询语言
HQL基本上与sql语句在语法上相仿,只是HQL具有面向对象的特性而已。(本文部分内容是从网络中获取而来)1. 大小写敏感性问题 除了Java类与属性的名称外,查询语句对大小写并不敏感。所以SeLeCT与sELEct以及SELECT是相同的,但是org.hibernate.eg.FOO并不等价于org.hibernate.eg.Foo并且foo.barSet也不原创 2013-06-09 15:31:47 · 3064 阅读 · 0 评论 -
第九章 关系映射 说明
这里的关系是指:对象之间的关系,并不是指数据库的关系,-----红色重要 存在以下关系:1、 一对一2、 一对多3、 多对一4、 多对多5、 集合映射u Listu Setu Map6、 继承关系(不重要)7、 组件映射原创 2013-06-01 15:29:39 · 943 阅读 · 0 评论 -
第九章 关系映射 一对一关系 共享主键方式实现一对一
如:person与idCardidcard中的id作为主键又作为一个引向person的外键。person作为主表,idcard作为从表。Person:public class Person implements Serializable{ private Integer id; private String name; private IdCard idCard; publi原创 2013-06-01 15:45:26 · 2418 阅读 · 0 评论 -
第九章 关系映射 一对一关系 唯一外键方式实现一对一
如:person与idCard基于外键的one-to-one可以描述为多对一。 hibernate 一对一唯一外键关联映射(双向关联 PersonIdCard ) 一对一唯一外键 双向 关联,需要在另一端(person ),添加 标签,指示 hibernate 如何加载 其关联对象,默认根据主键加载idcard ,外键关联映射中,因为两个实体采用的是 idcard原创 2013-06-01 15:51:05 · 1884 阅读 · 0 评论 -
一个简单的Spring MVC的例子
一、Spring MVC的优点1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。 2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分) 3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使原创 2015-06-24 09:17:08 · 5560 阅读 · 0 评论