hibernate中的对象状态 临时态:new语句产生的,与数据库无关的对象。不在session缓存中。 持久态:与数据库数据关联的对象。在session缓存中。 游离态:从持久态游离出来,不在session缓存中。 临时态变持久态:save()//insert 语句 游离态变持久态:update()//update语句 数据库获取:都是持久态 持久态变临时态:delete()//delete语句 持久态变游离态:evict(),close(),clear()//clear清楚所有持久对象缓存,evict清除...
by integergx - Java文档中心 - 2009-07-23 10:52:44 阅读(1143) 回复(0)
hibernate 中的持久化对象对应数据库中的一张数据表,因此区分不同的持久化对象就不能像以往的JAVA方法通过Object对象的默认equals()方法进行,在hibernate中是通过OID来完成的,OID对应数据库中的主键。 接下来我将讲解hibernate中的主要对象标识生成方法,在hibernate中共有8种标识符生成方式,其中包括7种标识符生成器和一种复合主键生成方式。 (1) increment 标识符生成器: 配置方式: 使...
在保存对象的时候,保存不成功。但主键的自动增长已经成功了。。。这个时候就是主键的数据类型与hbm.xml的数据类型不能匹配。。。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55633/showart_1881054.html
hibernate是Java应用和关系数据库之间的桥梁,它负责Java对象和关系数据之间的映射。hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。在Java应用中使用hibernate包含以下步骤。 (1)创建hibernate的配置文件。 (2)创建持久化类。 (3)创建对象-关系映射文件。 (4)通过hibernate API编写访问数据库的代码。 本文通过一个简单的例子hell...
创建数据库Schema 在本例中,与Customer类对应的数据库表名为CUSTOMERS,它在MySQL数据库中的DDL定义如下: create table CUSTOMERS ( ID bigint not null primary key, NAME varchar(15) not null, EMAIL varchar(128) not null, PASSWORD varchar(8) not null, PHONE int , ADDRESS varchar(255), SEX char(1) , IS_MARRIED bit, DESCRIPTION text, IMAGE blob, BIRTHDAY date, ...
1. 对象关系映射基础 1)当hibernate的Session在执行save(arg0)、update(arg0)或saveOrUpdate(arg0)方法时,会调用getXXX()方法,当Session在执行get()、load()和find()方法时会调用相应对象的setXXX(arg0)方法。另外,hibernate可以访问任意权限级别的hibernate方法,即便他是private类型的。 2. property属性节点的access属性(property、noop和field) property表示可以通过getXXX、setXXX方法访问 noop仅仅可以...
在hibernate中,对象有三种状态:临时状态、持久状态和游离状态。 临时状态:当new一个实体对象后,这个对象处于临时状态,即这个对象只是一个保存临时数据的内存区域,如果没有变量 引用这个对象,则会被jre垃圾回收机制回收。这个对象所保存的数据与数据库没有任何关系,除非通过Session的save或者 SaveOrUpdate把临时对象与数据库关联,并把数据插入或者更新到数据库,这个对象才转换为持久对象。 例如:Emp e=new Emp(); ...
Person person=(Person)se.get(Person.class,"8a94800c0233dd26010233dd2c000001"); session.delete(person); 这样就可以删除了级连的对象 为什么这样写就删不了呢? Person person=new Person() person.setId("id"); session.delete(person); 就会出错! hibernate中的对象有三种状态:persistent、transient和detached,只有 persistent状态的对象才能delete, Person person=new Person() 中这个person是个transient对...
对象、关系的映射(ORM)是一种耗时的工作,在Java环境下,有几种框架来表示持久数据,如实体Bean、OJB、JDO、hibernate等。hibernate是一种新的ORM映射工具,它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制。本文介绍怎么在Web应用开发中配置hibernate的环境,并且使用hibernate来开发一个具体的实例。 介绍 面向对象的开发方法是当今的主流,但是同时我们不得不使用关系型数据库,所以在企业级应用开...
创建数据库Schema 在本例中,与Customer类对应的数据库表名为CUSTOMERS,它在MySQL数据库中的DDL定义如下: create table CUSTOMERS ( ID bigint not null primary key, NAME varchar(15) not null, EMAIL varchar(128) not null, PASSWORD varchar(8) not null, PHONE int , ADDRESS varchar(255), SEX char(1) , IS_MARRIED bit, DESCRIPTION text, IMAGE blob, BIRTHDAY...
hibernate是 Java 应用和关系数据库之间的桥梁,它负责Java对象和关系数据之间的映射。hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。在Java应用中使用hibernate包含以下步骤。 (1)创建hibernate的配置文件。 (2)创建持久化类。 (3)创建对象-关系映射文件。 (4)通过hibernate API编写访问数据库的代码。 本章通过一个简单的例子hel...