随笔分类 -  hibernate

摘要:fetch ,可以设置fetch = "select" 和 fetch = "join"用一对多来举例:fetch = "select"是在查询的时候先查询出一端的实体,然后在根据一端的查询出多端的实体,会产生1+n条sql语句;fetch = "join"是在查询的时候使用外连接进行查询,不会差生 阅读全文
posted @ 2016-03-01 23:39 tian830937 阅读(168) 评论(0) 推荐(0)
摘要:1、JDBC事务 JDBC 事务是用 Connection 对象控制的。JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交。 java.sql.Connection 提供了以下控制事务的方法: public void setAut 阅读全文
posted @ 2016-02-04 13:35 tian830937 阅读(224) 评论(0) 推荐(0)
摘要:1.在hibernate官网下载hibernate-release-4.2.2.Final.zip并解压2.新建一个java project工程(20130619_Hibernate4.2.2_Annotition)3.导入hibernate包和hibernate配置文件(hibernate.cfg... 阅读全文
posted @ 2015-10-21 23:28 tian830937 阅读(162) 评论(0) 推荐(0)
摘要:Java 基础之认识 Annotation从 JDK 1.5 版本开始,Java 语言提供了通用的 Annotation 功能,允许开发者定义和使用自己的 Annotation 类型。Annotation 功能包括了关于定义 Annotation 类型的语法,对声明式进行注解的语法,读取 Annot... 阅读全文
posted @ 2015-10-21 23:08 tian830937 阅读(284) 评论(0) 推荐(0)
摘要:近年来ORM(Object-Relational Mapping)对象关系映射,即实体对象和数据库表的映射)技术市场人声音鼎沸,异常热闹, Sun在充分吸收现有的优秀ORM框架设计思想的基础上,制定了新的JPA(Java Persistence API)规范。JPA Java Persistence... 阅读全文
posted @ 2015-09-15 23:11 tian830937 阅读(2200) 评论(0) 推荐(0)
摘要:JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分。Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的超集。JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接 口,Hibernate是实... 阅读全文
posted @ 2015-09-15 22:58 tian830937 阅读(938) 评论(0) 推荐(0)
摘要:我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。在play中定义Model时,使用的是jpa的annotations,比如ja... 阅读全文
posted @ 2015-09-15 22:57 tian830937 阅读(538) 评论(0) 推荐(0)
摘要:EntityManager 是用来对实体Bean 进行操作的辅助类。他可以用来产生/删除持久化的实体Bean,通过主键查找实体bean,也可以通过EJB3 QL 语言查找满足条件的实体Bean。实体Bean 被EntityManager 管理时,EntityManager跟踪他的状态改变,在任何决定... 阅读全文
posted @ 2015-09-01 13:44 tian830937 阅读(335) 评论(0) 推荐(0)
摘要:JPA EntityManager详解(一)持久化上下文(Persistence Contexts)的相关知识,内容包括如何从Java EE容器中创建EntityManager对象、如何从Java SE中创建EntityManager对象、持久化上下文与事务(Transction)的关系,以及实体管... 阅读全文
posted @ 2015-09-01 11:48 tian830937 阅读(3027) 评论(0) 推荐(0)
摘要:1.person与address的一对一单向关系:在address中没有特殊的注解。在Person中对应到数据库里面就有一个指向Address的外键.我们也可以增加注释指定外键的列的名字,如下: @OneToOne(cascade=CascadeType.ALL,optional=true) @Jo... 阅读全文
posted @ 2015-08-24 15:55 tian830937 阅读(389) 评论(0) 推荐(0)
摘要::双向一对多关系,一是关系维护端(owner side),多是关系被维护端(inverse side)。在关系被维护端需要通过@JoinColumn建立外键列指向关系维护端的主键列。publicclass Order implements Serializable {privateSet order... 阅读全文
posted @ 2015-08-24 15:47 tian830937 阅读(186) 评论(0) 推荐(0)
摘要::双向一对多关系,一是关系维护端(owner side),多是关系被维护端(inverse side)。在关系被维护端需要通过@JoinColumn建立外键列指向关系维护端的主键列。publicclass Order implements Serializable {privateSet order... 阅读全文
posted @ 2015-08-21 13:59 tian830937 阅读(213) 评论(0) 推荐(0)
摘要:实体类与数据库之间存在某种映射关系,Hibernate依据这种映射关系完成数据的存取,因此映射关系的配置在Hibernate中是最关键的。Hibernate支持xml配置文件与@注解配置两种方式。xml配置文件是最基础的配置,而@注解是Java的官方JPA(JavaPersistenceAPI)提供... 阅读全文
posted @ 2015-08-15 16:45 tian830937 阅读(1057) 评论(0) 推荐(0)
摘要:一、Criteria查询方式没有sql语了,因此更加面向对象一些。Criteria是一种比HQL更面向对象的查询方式;Criteria的创建方式:Criteria c = s.createCriteria(DomainClass.class);简单属性条件如:c.add(Restrictions.e... 阅读全文
posted @ 2015-05-11 22:04 tian830937 阅读(334) 评论(0) 推荐(0)
摘要:一、通用方法的抽取实现由于hibernate中对增删改查的一切操作都是面向对象的,所以将增删改查抽取成通用方法,以满足不同的表的增删改查操作,简化jdbc代码。具体例子如下:[java]view plaincopyprint?packagecn.itcast.hibernate;importjava... 阅读全文
posted @ 2015-05-11 21:58 tian830937 阅读(239) 评论(0) 推荐(0)
摘要:一、实体类或属性名与数据库关键字冲突问题1、实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等[html]view plaincopyprint?解决方式2:假如与之对应的表是原来有的,不能修改表... 阅读全文
posted @ 2015-05-11 21:55 tian830937 阅读(505) 评论(0) 推荐(0)
摘要:HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖 Criteria查询的所有功... 阅读全文
posted @ 2015-04-25 19:57 tian830937 阅读(177) 评论(0) 推荐(0)
摘要:象关系的映射是用一个XML文档来说明的。映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等。下面从一个映射的例子开始讲解映射元素。AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载! com.mysql.jdbc.Driver jdbc:mysql... 阅读全文
posted @ 2015-04-25 18:32 tian830937 阅读(205) 评论(0) 推荐(0)
摘要:第五讲:hibernate的三种状态瞬时:bean对象与session,与数据库无关。在session对象的save方法保存之前。持久状态(托管):bean对象与session有关,数据库中有对应的记录。在save的保存方法之后,在session对象的关变之前。Session知道对象的变化,此时对象... 阅读全文
posted @ 2015-04-25 18:16 tian830937 阅读(200) 评论(0) 推荐(0)
摘要:学过hibernate的人都可能都知道hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),大家伙也许也知道这三者之间的区别,比如瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就是已经被保存到数据库中,... 阅读全文
posted @ 2015-04-25 18:15 tian830937 阅读(158) 评论(0) 推荐(0)