@Entity 注解将一个类声明为实体 Bean, @Id 注解声明了该实体Bean的标识属性。Hibernate 可以对类的属性或者方法进行注解。属性对应field类别,方法的 getXxx()对应property类别。
持久化是在应用程序开发中最基本的概念之一,一般是指利用SQL在关系数据库中存储数据(p3). 数据比任何应用程序存在的都长久。 (Hibernate的Session,除了查询以外,其他都必须要在事务中执行。)
iBATIS是以SQL为中心的持久化层框架。能支持懒加载、关联查询、继承等特性。iBATIS不同于一般的OR映射框架。OR映射框架,将数据库表、字段等映射到类、属性,那是一种元数据(meta-data)映射。iBATIS则是将SQL查询的参数和结果集映射到类。<br> 它把SQL语句看成输入以及输出,结果集就是输出,而where后面的条件参数则是输入。iBATIS能将输入的普通POJO对象、Map、XML等映射到SQL的条件参数上,同时也可以将查询结果映射到普通POJO对象(集合)、Map、XML等上面。
Hibernate(实际上是整个 Object/Relational Mapping)的一个卖点是数据库的移植性。这意味着内部的 IT 用户可以改变数据库供应商,或者可部署的应用程序/框架使用 Hibernate 来同时使用多个数据库产品。不考虑具体的应用情景,这里的基本概念是 Hibernate 可帮助你运行多种数据库而无需修改你的代码,理想情况下甚至不用修改映射元数据。
相信大家已经对Myeclipse做javaweb项目的步骤熟读于耳,那么你有没有对那些繁琐的步骤感到很纠结,好吧,现在让我来告诉你,利用Myeclipse做JavaWeb项目其实有两种方式,第一种是”正向”方式,也就是我们传统的方式,第二种,就是“反向”方式,简单的说,就是有数据库向实体映射。
在hibernate中的增删改查的实现。hibernate是OR框架,也就是对象关系框架,有了 hibernate我们就不用再去写SQL语言,我们只需要操纵对象去进行增删改查。这里今天写的就是在如何应用hibernate实现增删改查
MyBatis 是支持普通 SQL查询,存储过程等一个轻量级的ORM中间件 。MyBatis 使用简单的 XML 或注解方式,用于配置和原始映射,将接口和 Java 的POJOs(Plan Old Java Objects,普通的 Java对象)映射成数据库中的记录。
分销平台系统管控的1000多家门店,每天产生200W条以上数据,一年在10亿条数据以上,系统需要对这些数据进行收集,存储,加工归集等。这样关联数据量将达到100亿。
Hibernate实体关系:双向关联
现在流行的对JPA支持的O/R映射工具包括TopLink、Hibernate、OpenJPA和EclipseLink,本书以TopLink为例进行介绍。
相关概念持久操作如果不想让程序运行过程中的信息丢失,就必须想办法保存这些信息。这些信息可以存储在文件中,也可以存储在数据库中;把程序中的状态信息进行保存供以后使用,称为持久化。把程序中的信息存储到文件中的方式通常适用于信息量比较少的情况,可以直接通过文件操作来完成。如果存储在XML文件中,也可以通过对XML文件进行操作的相关接口来实现。
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate、TopLink等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队。着眼未来几年的技术走向,JPA作为ORM领域标准化整合者的目标应该不难实现。
注意:在使用的时候要保证有相应的构造方法。30.3具有简单查询条件的查询30.3.1查询条件中的常量字符串常量使用单引号括起来:‘Duke’。如果字符串常量包含了单引号,使用两个单引号表示一个单引号:'Duke''s'。数字符号:精确的和大约的,例如30,30.3逻辑符号是TRUE或者FALSE,不区分大小写。例1:查询男用户。
Hibernate缓存机制对Hibernate的性能发挥一直处于一个极其重要的作用,它是持久层性能提升的关键。Hibernate缓存介于Hibernate应用和数据库之间,缓存中存放了数据库数据的拷贝。 其作用是减少访问数据库的频率,从而提高应用的运行性能。
在每一个具体项目中都有大量对数据库表的操作,例如对某个表的增加、修改、删除等。这样的操作对系统所有的表几乎都有要求。而无论采用那一种后台处理方式(ENTITY BEANS、JDO、DAO),都会有很大的重复性劳动。另外一个常用功能是,需要为每张表写很多查询(根据不同的参数)。ENTITY BEANS(CMP)可能在这两个方面做的很好,但是他是以牺牲系统资源和降低系统性能为代价换来的。
使用@OneToOne注解建立实体Bean之间的一对一关联。一对一关联有三种情况:(1).关联的实体都共享同样的主键,(2).其中一个实体通过外键关联到另一个实体的主键(注意要模拟一对一关联必须在外键列上添加唯一约束),(3).通过关联表来保存两个实体之间的连接关系(要模拟一对一关联必须在每一个外键上添加唯一约束)。
本章介绍了Hibernate的几种主要检索方式:HQL检索方式、QBC检索方式、SQL检索方式。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个查询接口。Hibernate是一个轻量级的框架,它允许使用原始SQL语句查询数据库。<br> HQL是Hiberante官方推荐的Hibernate检索方式,它使用类似SQL的查询语言,以面向对象的方式从数据库中查询。可以使用HQL查询具有继承、多态和关联关系的数据。在检索数据时应优先考虑使用HQL方式。
Hibernate学习笔记
什么是对象的持久化<br> ORM的机制和原理<br> 为什么要使用IBatis?<br> SQLMap的原理<br> IBatis对于数据库的操作
模型不匹配(阻抗不匹配) Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等;数据库是关系模型,其主要概念有:表、主键、外键等。 解决办法 1使用JDBC手工转换。 2使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有Hibernate、TopLink、OJB。