Hibernate Annotations
来源:互联网 发布:linux主板故障 编辑:程序博客网 时间:2024/05/14 17:58
在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准。它非常强大、灵活,而且具备了优异的性能。在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松。
传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载。
在最近发布的几个Hibernate版本中,出现了一种基于 Java 5 注释的更为巧妙的新方法。借助新的 Hibernate Annotation 库,即可一次性地分配所有旧映射文件--- 一切都会按照您的想法来定义——注释直接嵌入到您的Java 类中,并提供一种强大及灵活的方法来声明持久性映射。
目前,JPA(Java Persistence API)的使用范围越来越广,作为Java EE 5.0平台标准的ORM规范,得到了诸如:Hibernate、TopLink、OpenJpa等ORM框架的支持,同时还是EJB 3.0的重要组成部分。JPA的宗旨是为POJO提供持久化标准规范。它能够脱离容器独立运行,方便开发和测试。本文将通过一个小实例来说明如何在Hibernate中使用JPA,来达到简化编程的目的。
Hibernate Annotations核心注解
@Entity 声明当前是一个持久化类
@Table 设置当前持久化类所映射的数据库表,如果当前类中没有使用@Table注解,Hibernate会自动使用默认的持久化类的类名(不带包名)作为所映射的表名
@Id 设置当前持久化类的标示符属性
@GeneratedValue 设置当前标示符的生产策略。@GeneratedValue的name属性设置生成策略的名称是TABLE、INENTITY、SEQUENCE或者AUTO之一。
@Column 将持久化类的数学与数据库表中的字段进行映射,name属性值为映射的字段名,length属性值为字段的长度,unique属性表示该列上设置唯一的约束,nullable属性设置该列的值是否可以为空,precision实现设置该字段的精度,scale属性设置该字段的小数位数
@Transient 标注的属性进行持久化映射
@Temporal java中没有定义时间精度的api,因此处理时间类型数据时,需要设置存储在数据库中所预期的精度,使用@Temporal注释可以调整时间的精度为:DATE、TIME和TIMESTAMP三种
@ManyToOne 设置该当前持久化类类与其他持久化类之间的多对一关联,其中CascadeType值表示Hibernate将进行级联操作
@OneToMany 设置该当前持久化类与其他持久化类之间的一对多关联
@OneToOne 设置该当前持久化类与其他持久化类之间的一对一关联
@ManyToMany 设置该当前持久化类与其他持久化类之间的多对多关联
@NameQueries 在持久化类中设置命名查询,参考@NameQuery的使用
@NameQuery 在持久化类中设置命名查询,@NamedQuery 和@NamedQueries注释加在在类和包上。如下面的例子:
@NamedQueries({@NamedQuery(name="queryById",query="select p from Product p where id=:id")})
@Version 设置乐观锁定
@Cache 设置二级缓存
@Filters 设置使用过滤器
@FilterDef 声明过滤器
- hibernate annotations
- hibernate annotations
- hibernate annotations
- Hibernate Annotations
- Hibernate Annotations
- Hibernate Annotations
- Hibernate Annotations
- Hibernate annotations
- Hibernate Annotations Reference Guide
- Hibernate 3 Annotations 进阶
- Hibernate 3 Annotations 进阶
- Hibernate annotations 入门
- hibernate-annotations总结
- hibernate annotations讲解
- Hibernate annotations 配置
- Hibernate 3 Annotations 入门
- Hibernate Annotations--实体Bean
- Hibernate Annotations 注解
- 4-Nancy文档教程——异步
- 数据库视频总结
- linux内核input子系统解析
- Malformer or corrupeted AST file
- Redis主从复制配置及工作过程
- Hibernate Annotations
- Lenovo E46A-Win 7_无线灯亮但无法启动(耽误3天以上您信吗.....)问题: wlan autoconfig 依赖服务或组无法启动
- Redis 主从设置以及注意的问题
- 状况进行和高科技啊说得好高科技啊萨丹哈果壳就阿红
- 状况进行和高科技啊说得好高科技啊萨丹哈果壳就阿红
- 常用博客地址集锦
- POJ 2002 Squares -- Hash
- 状况进行和高科技啊说得好高科技啊萨丹哈果壳就阿红
- hdu 2011多项式求和 20140729.cpp