hibernate提供orm功能,既然要和数据库打交道就需要知道与数据库有关的信息,这些信息可以被程序共享,相同的数据库只需配置一次。下面介绍一下与此有关的内容:
的一个实例代表了应用程序中所有的j**a类到sql数据库的映射的集合。configuration用于构造一个(不可变的)sessionfactory。这些映射是从一些xml映射文件中编译得来的。
configuration是仅在配置期使用的对象,从第一个sessionfactory开始建立的时候,它就失效了。
当所有的映射都被configuration解析之后,应用程序为了得到session实例,必须先得到它的工厂。sessionfactory负责一个数据库,也只对应一个xml配置文件(通过在创建 sessionfactory之前(它是不可变的),你可以访问configuration来设置其他属性(甚至修改映射的元数据)。
sessionfactory可以创建并打开新的session。一个session代表一个单线程的单元操作,sessionfactory则是一个线程安全的全局对象,只需要创建一次。
指定配置属性有以下五种方法。
1)使用configuration的setproperty()方法。在程序中指定,这样需要每个客户程序重复工作,但是可以临时修改参数。例如:
configuration config = new configuration();
2)传一个实例给例如:
configuration config = new configuration();
properties = new
3)将放置在类路径的根目录下。例如:
configuration conf = new configuration();
文件内容:jdbc:oracle:thin:@192.168.0.2:1521:ydorclzbzb
4)通过j**a –dproperty=value来设置系统属性。
5)在中加入元素。
配置文件提供了更易读的结构和更强的配置能力,可以直接对映射文件加以配置,而在properties 文件中则无法配置,必须通过**中的hard coding加载相应的映射文件。
配置文件名默认为“或者 初始化期间会自动在classpath 中寻找这个文件,并读取其中的配置信息,为后期数据库操作做好准备。
下面是对各项配置属性的说明:
hibernate需要知道怎样去加载(load)和存储(store)我们的持久化对象。这里正是hibernate映射文件发挥作用的地方。映射文件(mapping file)告诉hibernate它应该访问数据库里面的那个表(table)和应该使用表里面的那些字段(column)。
映射文件包含了对象/关系映射所需的元数据。元数据包含:
1)持久化类的声明。
2)属性到数据库的映射(指向字段和其他实体的外键关联)。
对象和关系数据库之间的映射是用一个xml文档(xml document)来定义的。这个映射文档被设计为易读的,并且可以手工修改。映射语言是以j**a为中心的,意味着映射是按照持久化类的定义来创建的,而非表的定义。
映射文件中的元素说明了对象和表的映射关系。下面是一些常用的基本元素。
hibernate-mapping元素定义有关数据库操作的一些属性。
schema="schemaname1)
catalog="catalogname2)
default-cascade=" cascade_style3)
default-access="field|property|classname4)
dalault-lazy="true|false5)
auto-import="true|false6)
package="
1) schema (可选): 数据库schema名称。
2) catalog (可选): 数据库catalog名称。
3) default-cascade (可选 - 默认为 none): 默认的级联风格。
4) default-access (可选 - 默认为 property): hibernate用来访问属性的策略。可以通过实现propertyaccessor接口自定义。
5) dalault-lazy (可选 - 默认为 true): 指定了未明确注明lazy属性的j**a属性和集合类,hibernate会采取什么样的默认加载风格。
6) auto-import (可选 - 默认为 true): 指定是否我们可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。
7) package (可选): 指定一个包前缀,如果在映射文档中没有指定全限定名,就使用这个包名。
你可以使用class元素来定义一个持久化类:
name="classname1)
table="tablename2)
discriminator-value="discriminator_value3)
mutable="true|false4)
schema="owner5)
catalog="catalog6)
proxy="proxyinterface7)
hibernate高级查询
1.将数据部署完成。2.通过session完成删除,更新,增加,获取,查询。使用session接口 cud时比较方便。get,load hibernate的另外的查询方式 hibernate query language query by creteria 3.任务 通过向导的方式,为fwxx项目添...
Hibernate复习笔记
hibernate 复习笔记。的结构体系包括持久化类 实体层 映射文件 配置文件 a.持久化类 实体层 每个对象映射一张表每个对象中的属性映射该表的属性。b.映射文件提供映射路径 即 a对象中c属性映射 a表中 c字段 并可设置表与表之间的映射关系。c.配置文件设置数据库连接信息并包含映射文件路径 ...
强人Hibernate笔记 上中下
hibernate文档笔记共分为三个部分,此处是第一部分,讲述了对象定义 实例状态 jmx集成和jca 支持四个部分的内容。一 对象定义。对于单个数据库,被编译的映射,是一个线程安全的缓冲区。是一个session和connectionprovider客户端的工厂。拥有可选的对过程级和集群级重复利用的...