学习hibernate_03_实体常用的hibernate注解
2017-01-24 00:19
531 查看
/** * @Entity 声明一个类为实体Bean * @Table(name = "xx")指定实体类映射的表,如果表名和实体类名一致,可以不指定 */ @Entity @Table(name = "SYS_DICTIONARY") public class DicDomain { /** * @Id 映射主键属性,这里采用uuid的主键生成策略 * @GeneratedValue —— 注解声明了主键的生成策略。该注解有如下属性 * strategy 指定生成的策略,默认是GenerationType. AUTO * GenerationType.AUTO 主键由程序控制 * GenerationType.TABLE 使用一个特定的数据库表格来保存主键 * GenerationType.IDENTITY 主键由数据库自动生成,主要是自动增长类型 * GenerationType.SEQUENCE 根据底层数据库的序列来生成主键,条件是数据库支持序列 * generator 指定生成主键使用的生成器 * * unique、nullable、insertable很容易理解,想说一点,这个一般在数据库里设置。 */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID", unique = true, nullable = false) private Integer id; @Column(name = "NAME") private String name; /** * @Temporal - 用于定义映射到数据库的时间精度 * @Temporal(TemporalType=DATE) 日期 * @Temporal(TemporalType=TIME) 时间 * @Temporal(TemporalType=TIMESTAMP) 两者兼具 * 下面的例子在MySQL数据库里存储的样子类似:2015-09-14 16:00:22 */ @Temporal(TemporalType.TIMESTAMP) @Column(name = "CREATETIME", length = 19) private Date createtime; /** * @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性 * 果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic */ @Transient private int age; /** * cascade:级联,它可以有有五个值可选,分别是: * CascadeType.PERSIST:级联新建 * CascadeType.REMOVE : 级联删除 * CascadeType.REFRESH:级联刷新 * CascadeType.MERGE : 级联更新 * CascadeType.ALL : 以上全部四项 * * @JoinColumn:主表外键字段 * @OneToMany mappedBy: many类关联字段所在的属性 * * fetch:加载策略,它有两个值可选,分别是: * FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。 * FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。 */ @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "typeid", updatable = false, insertable = false) private DicTypeDomain dictype; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public DicTypeDomain getDictype() { return dictype; } public void setDictype(DicTypeDomain dictype) { this.dictype = dictype; } }
相关文章推荐
- Hibernate Oracle sequence的使用技巧
- jsp Hibernate批量更新和批量删除处理代码
- jsp hibernate的分页代码第1/3页
- Struts2+Hibernate实现数据分页的方法
- Hibernate环境搭建与配置方法(Hello world配置文件版)
- JAVA+Hibernate 无限级分类
- SSH整合中 hibernate托管给Spring得到SessionFactory
- jsp hibernate 数据保存操作的原理
- hibernate中的增删改查实现代码
- 解决hibernate+mysql写入数据库乱码
- java优化hibernate性能的几点建议
- java Hibernate延迟加载
- hibernate 常用方法介绍
- 详解Java的Hibernate框架中的注解与缓存
- 浅析Java的Hibernate框架中的继承关系设计
- Java的Hibernate框架中的继承映射学习教程
- Hibernate实现批量添加数据的方法
- Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
- JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册
- SSH框架网上商城项目第16战之Hibernate二级缓存处理首页热门显示