首頁 >資料庫 >mysql教程 >POJO类以及映射配置文件

POJO类以及映射配置文件

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-06-07 16:03:191275瀏覽

对持久化对象的要求 1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象 2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()

对持久化对象的要求

1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象

2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()。

3、 为持久化类的字段声明访问方法(set/get)。Hibernate对javaBean风格的属性实行持久化。

4、使用非final类,在运行时生成代理是Hibernate的一个重要功能,如果持久化类没有实现任何接口,Hibernate使用CGLB生成代理,如果使用final类,则无法生成CGLIB代理。

5、重写equals()和hashCode()方法,如果需要将持久化类放到Set中(当需要进行关联映射时),则应该重写这两个方法。

对于映射配置文件中非主键元素使用标签映射,标签的type属性用来指定持久化类和数据表中的类型。

可以写Java中类的全名,也可以写Hibernate类型。

映射主键属性

主键如果是数字建议使用对应的包装类型。

id元素用于映射主键,id元素子元素的class属性用于指定主键生成策略。

其常用值如下:

identity:使用数据库的自动增长策略,不是所有数据库都支持,比如Oracle就不支持

sequence:在DB2,PostgreSQL,Oracle,SAPDB等中使用sequence。

hilo:使用高地位算法生成主键,只需要一张额外的表,所有的数据库都支持。

increment:由Hibernate维护的,先查询当前最大的id值,在加1增长,不推荐使用,因为有线程安全问题。

assigned:手工指定主键。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn