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