主键生成策略

  1. @Id
  2. //根据底层数据库决定,mysql-->auto_increment
  3. @GeneratedValue(strategy=GenerationType.AUTO)
  4. //使用数据表
  5. @TableGenerator(name="table_name",allocationSize=1)
  6. @GeneratedValue(strategy=GenerationType.TABLE,generator="table_name")
  7. //使用序列
  8. @SequenceGenerator(name="sequence_name",allocationSize=25)
  9. @GeneratedValue(strategy=GenerationType.SEQUENCE)
  10. //使用数据库的自增长字段
  11. @GeneratedValue(strategy=GenerationType.IDENTITY)、
  12. //使用uuid2,16byte
  13. @GenericGenerator(name = "uuid2", strategy = "uuid2")
  14. @GeneratedValue(generator = "uuid2")
  15. @Column(columnDefinition = "BINARY(16)")
  16. @Id
  17. private UUID id;

日期配置

  1. //只有指定为java.util.Date 时@Temporal才是必须的,因为hibernate无法区分使用的具体Date子类
  2. @Temporal(TemporalType.TIMESTAMP)
  3. @Column(name="create_time")
  4. private java.util.Date createTime;

其它注解

  1. //不参与orm的属性
  2. @Transient
  3. private String instance;
  4. //乐观锁的version配置
  5. @Version
  6. private int version;

实体关系映射

  1. package org.hibernate.annotations;
  2. /**
  3. * Cascade types (can override default EJB3 cascades
  4. */
  5. public enum CascadeType {
  6. ALL,
  7. PERSIST,
  8. MERGE,
  9. REMOVE,
  10. REFRESH,
  11. DELETE,
  12. SAVE_UPDATE,
  13. REPLICATE,
  14. DELETE_ORPHAN,
  15. LOCK,
  16. EVICT
  17. }
  18. public enum FetchType {
  19. LAZY, EAGER
  20. }

单边一对多

  1. @Entity
  2. @Table(name="man")
  3. class Man{
  4. @Id
  5. private Integer id;
  6. @OnToMany(fetch=FetchType.EAGER)
  7. @JoinColumns(value={@JoinColumn(name="man_id",referencedColumnName="id")})
  8. private List<Book> books;
  9. }

【09-26】hibernate学习笔记的更多相关文章

  1. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  2. Hibernate学习笔记(一)

    2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建 ...

  3. Hibernate 学习笔记一

    Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...

  4. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  5. Hibernate学习笔记

    一.Hibernate基础 1.Hibernate简介 Hibernate是一种对象关系映射(ORM)框架,是实现持久化存储的一种解决方案.Java包括Java类到数据库表的映射和数据查询及获取的方法 ...

  6. Hibernate学习笔记(四)—— 表与表的关系

    一.一对多|多对一 1.1 关系表达 1.1.1 表中的表达 建表原则:在多的一方创建外键指向一的一方的主键. 1.1.2 实体中的表达 [客户实体] public class Customer { ...

  7. Hibernate学习笔记(四)

    我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改以下是b站视频地址:https://www.bilibili.com/video/av14626440 ...

  8. Hibernate学习笔记(三)

    我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改以下是b站视频地址:https://www.bilibili.com/video/av14626440 ...

  9. HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序

    Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象 ...

  10. Hibernate学习笔记-Hibernate关系映射

    1. 初识Hibernate——关系映射 http://blog.csdn.net/laner0515/article/details/12905711 2. Hibernate 笔记8 关系映射1( ...

随机推荐

  1. 分享一个html+js+ashx+easyui+ado.net权限管理系统

    EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...

  2. Linux下MySQL慢查询分析mysqlsla安装使用

    说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启 ...

  3. Oracle学习笔记一 初识Oracle

    数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.SQL 是 Structured Query Language(结构化查询语言)的首字母缩写词. 定义 数据库,简单来 ...

  4. Akka初步介绍

    Akka可能很多人都没有用过,也不知道是什么,但如果说起Scala或Spark就有很多人都听说过或使用过 ,这里简单说下三者的关系Akka是使用Scala开发的,Spark中使用了Akka作为其消息的 ...

  5. apache下htaccess不起作用,linux,windows详解

    可能出现下面这三种的错误可能性: 第一种:启用 rewrite 和 .htaccess 设置 rewrite设置:找到apache的配置文件httpd.conf文件,找到:#LoadModule re ...

  6. Dubbo学习之简单环境搭建

    Dubbo服务的发展和作用: 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后的常规方案演进历程. 其次,当服务越来越多之后,我们需要做哪些服务治理? 最后,是d ...

  7. 通过源码了解ASP.NET MVC 几种Filter的执行过程

    一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多人觉得平时根本不需要知道这些,会用就行了.其实阅读源 ...

  8. 励志经典,持续收集ing....

    士兵突击励志经典:http://blog.sina.com.cn/s/blog_660538e10100r7ld.html 励志散文1:http://www.vipyl.com/Article/328 ...

  9. 使用Hibernate的 isNotEmpty( ) 方法 报错: No result defined .... and result dataAccessFailure

    数据访问失败 出错代码: cardy.add(Restrictions.isNotEmpty("grade.cardtype.cardtype")); try...catch之后发 ...

  10. 表单验证插件之jquery.validate.js

    提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...