第十章 基于Annotation的关系映射 前期准备
来源:互联网 发布:行知科技 编辑:程序博客网 时间:2024/06/06 00:29
1、使用MyEclipse生成基于Annotation的实体类与映射
这个过程只和第三章所说的的内容基本相同。这是其中有两个地方得注意的。
第三章的内容:http://blog.csdn.net/p_3er/article/details/8965305
注意一:
在通过MyEclipse给项目增加Hibernate功能的时候。我们必须勾上Enable Hibernate Annotations Support。否则在通过MyEclipse生成基于Annotation的实体类时会无法使用这项功能。
注意二:
通过MyEclipse生成实体类和映射的时候,应该选第二项生成基于Annotation的实体类,而不是之前的带.hbm.xml映射文件的实体类。
2、一个简单的Annotation的实体类
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;/** * @Entity 表示下面的这个User是一个实体类 * @Table 表示映射到数据表中的表名,其中的name参数表示"表名称" * @Id 表示主键Id,一般放在getXXX前面 */@Entity@Table(name = "user", catalog = "hibernate")public class User implements java.io.Serializable {private Integer id;private String username;public User() {}@Id@GeneratedValue@Column(name = "id", unique = true, nullable = false)public Integer getId() {return this.id;}public void setId(Integer id) {this.id = id;}@Column(name = "username", nullable = false, length = 45)public String getUsername() {return this.username;}public void setUsername(String username) {this.username = username;}}
3、Annotation的ID生成策略
使用@GeneratedValue(strategy=GenerationType)注解可以定义该标识符的生成策略
Strategy有四个值:
AUTO-可以是identitycolumn类型,或者sequence类型或者table类型,取决于不同的底层数据库.
相当于native
TABLE-使用表保存id值
原理:就是在数据库中建立一个表,这个表包含两个字段,一个字段表示名称,另一个字段表示值。每次在添加数据时,使用第一个字段的名称,来取值作为添加数据的ID,然后再给这个值累加一个值再次存入数据库,以便下次取出使用。
IDENTITY- identity column
SEQUENCE- sequence
注意:auto是默认值,也就是说没有后面的参数则表示为auto
4、hibernate.cfg.xml中配置Annotation的实体类
如果是通过MyEclipse生成的实体类的话,这个配置是由工具自动加载到配置文件中的。
<mapping class="cn.framelife.hibernate.entity.User" />
5、AnnotationConfiguration
Annotation方式。在初始化Configuation时,应使用AnnoationConfiguration。这只是用于Application或才测试的时候。如果是Web项目我们还有其它的做法,如整合Spring来使用Spring提供的工具类来调用Hibernate的Api会更加方便。这个我们在说Spring的时候会说到。
Configuration cfg = new AnnotationConfiguration();cfg.configure();SessionFactory sessionFactory = cfg.buildSessionFactory();
- 第十章 基于Annotation的关系映射 前期准备
- 第十章 基于Annotation的关系映射 一对一
- 第十章 基于Annotation的关系映射 多对多
- 第十章 基于Annotation的关系映射 多对一与一对多
- Hibernate中,One2Many和Many2One的双向映射关系的基于注解Annotation实现方式
- 编程的前期准备
- Hibernate的关系映射总结annotation版本
- Annotation实现关系映射
- hibernate--annotation关系映射
- 架构设计的前期准备
- GdiPlus使用的前期准备
- 使用ADOCE的前期准备
- 软件构建的前期准备
- 第三章 三思而后行:前期准备
- 第三章-三思而后行:前期准备
- hibernate 关系映射 annotation 版
- hibernate annotation处理映射关系
- Hibernate-映射关系- 基于主键映射的1<->1映射
- Android、pc文件无线双向传输软件
- Windows 右键扩展菜单实现中遇到的问题
- Vim文件编码识别与乱码处理
- Ajax
- 【Java设计模式】之工厂方法模式
- 第十章 基于Annotation的关系映射 前期准备
- CGContext小记
- OpenCV学习笔记(12)-二叉决策树
- Class 'SoapClient' not found in PHP
- android获取屏幕分辨率大小(DisplayMetrics)
- Android常用小工具的使用方法
- 空间点绕任意轴旋转变换公式
- HDU 2059
- Hibernate session的缓存