5 -- Hibernate的基本用法 --6 深入Hibernate映射
Hibernate提供三种方式将POJO变成PO类:
1. 使用持久化注解(以JPA标准注解为主,如果有一些特殊要求,则依然需要使用Hibernate本身提供的注解)。
2. 使用JPA2 提供的XML配置描述文件(XML deployment descriptor),这种方式可以让Hibernate的PO类与JPA实体类兼容。
3. 使用Hibernate传统的XML映射文件(*.hbm.xml文件的形式)。
对于Hibernate PO类而言,通常可以采用如下两个注解来修饰它:
1. @Entity : 被该注解修饰的POJO就是一个实体。使用该注解时可指定一个name属性,name属性指定该实体类的名称。默认以该类的类名作为实体类的名称。
2. @Table : 该注解指定持久化类锁映射的表。
@Table 注解可指定的属性:
1. catalog:(非必须)用于设置将持久化类所映射的表放入制定的catalog中。如果没有指定该属性,数据表将放入默认的catalog中。
2. indexs:(非必须)为持久化类所映射的表设置索引。该属性值时一个@Index注解数组。
3. name:(非必须)设置持久化类所映射的表的表名。如果没有制定该属性,那么该表的表名将与持久化类的类名相同。
4. schema : (非必须)设置将持久化类所映射的表放入指定的schema中。如果没有指定该属性,数据表将放入默认的schema中。
5. uniqueConstraints:(非必须)为持久化类所映射的表设置唯一约束。该属性的值是一个@UniqueConstraint注解数组。
@UniqueConstraint用于数据表定义唯一约束。使用该注解可以指定唯一的属性:columnNames。columnNames的值是一个字符串数组,每个字符串元素代表一个数据列。
@Index用于数据表定义索引。使用该注解可以指定columnList、name、unique等属性。
1.columnList
2. name
3. unique
3. @Access
AccessType.PROPERTY
AccessType.FIELD
4. @Proxy
5. @DynamicInsert : 指定用于出入记录的insert语句是否在运行时动态生成,并只插入那些非空字段。该属性的值默认时false。开启该属性将导致Hibernate需要更多时间来生存SQL语句。
6. @DynamicUpdate : 指定用于更新记录的update语句是否在运行时动态生成,并只更新那些改变过的字段。该属性的值默认时false。开启该属性将导致Hibernate需要更多的时间来生成SQL语句。
啦啦啦
5 -- Hibernate的基本用法 --6 深入Hibernate映射的更多相关文章
- 5 -- Hibernate的基本用法 --4 2 hibernate.properties文件与hibernate.cfg.xml文件
hibernate.properties : project\etc\hibernate.properties hibernate.cfg.xml : project\etc\hibernate.cf ...
- 5 -- Hibernate的基本用法 --2 2 Hibernate的数据库操作
在所有的ORM框架中有一个非常重要的媒介 : PO(持久化对象:Persistent Object).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ ...
- 5 -- Hibernate的基本用法 --4 6 Hibernate事务属性
事务也是Hibernate持久层访问的重要方面,Hibernate不仅提供了局部事务支持,也允许使用容器管理的全局事务. Hibernate关于事务管理的属性: ⊙ hibernate.transac ...
- 5 -- Hibernate的基本用法 --4 深入Hibernate配置文件
Hibernate的持久化操作离不开SessionFactory对象,这个对象是整个数据库映射关系经过编译后的内存镜像,该对象的openSession()方法可打开Session对象.该对象通常由Co ...
- 5 -- Hibernate的基本用法 --2 1 Hibernate 下载和安装
1. 下载Hibernate压缩包 2. 解压:文件结构 ⊙ documentation : 该路径下存放了Hibernate的相关文档,包括Hibernate的参考文档和API文档等. ⊙ lib ...
- 5 -- Hibernate的基本用法 --1 4 Hibernate概述
Hibernate 不仅仅管理Java类到数据库的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间.
- 5 -- Hibernate的基本用法 -- 要点
Hibernate的基本用法 ⊙ ORM的基本知识 ⊙ ORM和Hibernate的关系 ⊙ Hibernate的基本映射思想 ⊙ Hibernate入门知识 ⊙ 使用Eclipse开发Hiberna ...
- 轻量级Java_EE企业应用实战-第5章Hibernate的基本用法-001
1. package org.crazyit.app.domain; import javax.persistence.*; /** * Description: <br/> * ��վ: ...
- 5 -- Hibernate的基本用法 --4 4 数据库方言
Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以在语法细节上存在一些差异.因此,Hibernate需 ...
随机推荐
- 解决Cordova开发的iOS的app界面被状态栏覆盖
解决方法如下: 一:在MainViewController.m中添加如下代码: -(void)viewWillDisappear:(BOOL)animated { if([[[UIDevice cur ...
- cordova 开发笔记
1.安装 Node.js Cordova需要Node.js环境,访问https://nodejs.org 下载安装, LTS版本即可,不要最新版. 2.安装 Cordova 执行下述命令把Cordov ...
- LeetCode Permutations问题详解
题目一 permutations 题目描述 Given a collection of numbers, return all possible permutations. For example,[ ...
- Jmeter笔记:响应断言详解
转自:http://www.51testing.com/html/80/n-2430180.html 平时我们使用jmeter进行性能测试时,经常会用到断言.jmeter提供了很多种断言,本来想全都写 ...
- WWDC 2018:Swift 更新了什么?
本文转载自:https://juejin.im/post/5b1cb5805188257d507be5d4所有权归原文所有 WWDC 2018 Session 401 What's New in Sw ...
- Lua:Nginx Lua环境配置,第一个Nginx Lua代码
一.编译安装LuaJIT Lua:编译安装LuaJIT,第一个Lua程序 http://blog.csdn.net/guowenyan001/article/details/48250427 二.下载 ...
- Keepalived源码安装
1.编译.安装 # tar -xvf keepalived-1.3.9.tar.gz # cd keepalived-1.3.9/ # ./configure -prefix=/usr/local/k ...
- 反射简化switch语句
1. 一个简单工厂类 public class FactoryModule { public ModuleIntf getModule(String moduleType) { ModuleIntf ...
- 浅析Mysql的my.ini文件
转载:http://hunanpengdake.iteye.com/admin/blogs/1647725 今天闲的蛋疼,没事想了解mysql,大家都知道在配置Mysql的过程中,my.ini非常重要 ...
- Hexo NexT 博客后台管理指南
上篇文章讲到,将Hexo NexT 博客成功上传到GitHub 并绑定到我们自定义的域名下了. 但是却还是有个问题,那就是Hexo NexT 博客如何进行后台管理呢? 如果总是通过手动创建文件的方式, ...