POJO类以及映射配置文件

对持久化对象的要求

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中(当需要进行关联映射时),则应该重写这两个方法。

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

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

映射主键属性

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

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

其常用值如下:

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

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

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

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

assigned:手工指定主键。

时间: 2024-08-28 20:14:46

POJO类以及映射配置文件的相关文章

HibernateTools实现pojo类 数据库schma mapping映射的相互转换

核心 利用HibernateTools,从POJO类,Mapping映射文件,数据库表有其中的一项,就能生成其他两项. 概述 在使用Hibernate开发系统持久层时,按照一般开发流程 1.分析业务 2.获得系统实体类 3.写Hibernate的mapping映射文件 4.根据映射文件,生成数据库表 以上这几步是Hibernate开发的起始.根据开发习惯的不同,有些项目组可能会先写POJO类,有的项目可能会先设计数据库,有的项目组可能先写映射文件,其实完成其中的一项时,类结构或者表结构就可以确定

HibernateTools实现pojo类 数据库schma mapping映射的相互转换 二

接着上一篇博客:HibernateTools实现pojo类 数据库schma mapping映射的相互转换 思路二:由数据库表,生成Mapping映射文件和POJO类. 虽然可以实现,但个人觉着先设计数据库,然后再生成类不符合Hibernate的面对对象持久化的思维方式.好了,还是说步骤吧,首先在test数据库建立两张表,分别为course表和teacher表 -- ---------------------------- -- Table structure for course -- ---

Mybatis配置文件和实体类的映射文件,以及dao层的书写

mybatis-config.xml,配置文件,用于连接数据库.底层使用的是oracle数据库的emp表 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-config.dtd&

Hibernate学习---第三节:映射配置文件详解

1.映射文件,代码如下: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- 持久化映射文件(将java对象映射到数据库表) default-

MyBatis 中XML映射配置文件

XML映射配置文件 MyBatis的XML配置文件包含了影响MyBatis行为很深的设置和属性信息.XML文档的高级层级结构如下: properties Settings 这些及其重要的调整,他会修改MyBatis在运行时的行为方式.下面这个表格描述了设置信息,他们的含义和默认值: typeAliases 类型别名是为java类型命名一个短的名字.他和XML的配置有关,只用来减少类完全限定名的多余部分.例如: typeHandlers 无论是MyBatis在预处理语句中设置一个参数,还是从结果集

004医疗项目-逆向工程-pojo类的创建和对应xml的生成

我们使用mybatis的逆向工程来生成pojo类,省去很多不必要的工作. 我把逆向工程需要的项目如下: GeneratorSqlmap.java是项目的主入口. GeneratorSqlmap.java代码如下: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGen

利用mybatis-generator自动生成表实例类和映射文件

我们经常用到mybatis来进行程序代码级别对数据库的操作,然而需要编写大量的表实例类与映射文件,现在使用工具mybatis-generator就可实现上述文件的自动生成,下面简要介绍一下其使用方法. 1.创建工程 为了下载jar包比较方便,本人创建一个名为mybatis的maven工程来应用mybatis-generator. 2.修改pom.xml文件,下载依赖的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" x

myeclipse自动生成可持久化类的映射文件的方法

首先在透视图中选择DB Browser视图: . 然后按照下面的截图一步一步做就可以了. 在偏好设置中选择MyEclipse--Database Explorer--Drivers,配置数据库驱动: . 新建数据库驱动,选择Oracle Thin Driver模板,并且在Driver Jars中选择恰当的JDBC包: . 这样数据库驱动就配置好了,下面是使用配置好的驱动连接数据库,首先新建连接: . 新建连接配置文件: . 选择刚才的驱动配置文件,并且给连接配置文件取名,按照格式填入数据库连接U

通过MyEclipse生成实体类及映射文件

1.在工程上添加hibernate支持,导入相关包,修改配置文件为如下: hibernate.cfg.xml文件 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate