Hibernate-Annotation

一、Hibernate-Annotation

        1、 Java Persistance API Java 持久化 API

其作用是通过注解或者是XML描述对象和关系表的映射关系,将运行期的实体对象映射到持久化的数据库中。

        2、JPA 的目标:

                1、简化现有JAVAEEJAVSE的开发工作;

                2 、整合现有的 ORM 各自为营的状况,实现天下归


二、JPA的现状

        1、 Hibernate 3.2 开始支持 JPA
        2、 JDO 也兼容 JPA
        3、 Toplink Apache 开发的 OpenJPA 都支持它的规范
        4、 EJB 的实体 Bean 一直是被诟病的对象, 3.0 开始支持 JPA 以后, EJB 的推广得到大大的改善。
        5、 Spring 容器也从 2.0 开始支持 JPA ,使得支持 JPA 的各种 ORM 框架在 Spring 容器中都可以轻松被管理,相互之间的替换所花的成本也大幅下降
        6、JPA 已成王道,规范就是规范,得到各大厂商的支持,使得它变得更为广泛。


三、Hibernate--Annotation的操作
        1 、建立工程,本章节我们建立基本的 JavaApplication 工程。
        2 、导入下载的 Hibernate 最新版本的 jar
        3 、建立 hibernate.cfg.xml 文件
        4 建立 DBUtil 对象
        5 、书写 Bean 对象
        6 Bean 对象中进行 Annotation 的配置   
        7 cfg 文件中告知
        8 、书写 Dao 进行数据库操作

四、Hibernate.cfg.xml


五、DBUtil的实现
        1、 DBUtil 的是我们常用的工具类,使用它来直接获取连接对象( Session )。
        2、 Hibernate 中提供 Configuration 类来加载配置文件,然后构建 SessionFactory 对象,通过 SessionFactory 对象的 openSession 方法获取 Session
        以前这个代码我们使用的是自动生成的。

六、Bean对象
        1 、必须满足 JavaBean 的基本规范
        2 、必须要有标识属性
        3 、如果有集合类型的属性必须是集合的接口类型
              没有变化!

七、Bean对象上做注解配置


八、注解说明
        1、 基本注解(全部是 JPA 注解规范):
        2、 @Entity--- 将一个类声明为一个可持久化的 POJO 类、必填
        3、 @Table--- 该持久类所对应的表,表明在 name 属性中给定
        4、 @Id--- 指定标识属性
        5、 @Column--- 指定属性所对应的列,如果列名和属性名一致,可以不定义 name 属性
        6、 主键生成器:

                @GeneratedValue(strategy=GenerationType.IDENTITY)

                该注解由JPA提供,提供4种主键生成策略(枚举GenerationType中定义):

                        1AUTO---主键由程序控制

                        2TABLE---使用一个特定的数据库表来保持主键

                        3IDENTITY---主键由数据库自动生成(包括MySQL,MSSQLDB2等)

                        4SEQUENCE---主键由数据库序列生成(Oracle),该值与generator属性一起使用,通过generator属性指定使用的序列名称。

        7、 如果主键生成想使用 Hibernate 的特有生成方式,必须使用 Hibernate 定义的注解(非 JPA 注解)
                @ GenericGenerator (name=" hbincrement",strategy =" increment ")
                @ GeneratedValue (generator=" hbincrement ")
        8、 时间日期类型的注解说明:
                @Temporal( TemporalType.DATE )
                枚举 TemporalType 有三个值:
                        1 DATE--- 年月日;
                        2 TIME--- 时分秒;
                        3 TIMESTAMP 年月日时分秒;







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言 1. 翻译说明 2. 版权声明 前言 1. 创建一个注解项目 1.1. 系统需求 1.2. 系统配置 2. 实体Bean 2.1. 简介 2.2. 用EJB3注解进行映射 2.2.1. 声明实体bean 2.2.1.1. 定义表(Table) 2.2.1.2. 乐观锁定版本控制 2.2.2. 映射简单属性 2.2.2.1. 声明基本的属性映射 2.2.2.2. 声明列属性 2.2.2.3. 嵌入式对象(又名组件) 2.2.2.4. 无注解之属性的默认值 2.2.. 映射主键属性 2.2.4. 映射继承关系 2.2.4.1. 每个类一张表 2.2.4.2. 每个类层次结构一张表 2.2.4.3. 连接的子类 2.2.4.4. 从父类继承的属性 2.2.5. 映射实体Bean的关联关系 2.2.5.1. 一对一(One-to-one) 2.2.5.2. 多对一(Many-to-one) 2.2.5.3. 集合类型 2.2.5.4. 用cascading实现传播性持久化(Transitive persistence) 2.2.5.5. 关联关系获取 2.2.6. 映射复合主键与外键 2.2.7. 映射二级表(secondary tables) 2.3. 映射查询 2.3.1. 映射EJBQL/HQL查询 2.3.2. 映射本地化查询 2.4. Hibernate独有的注解扩展 2.4.1. 实体 2.4.2. 标识符 2.4.3. 属性 2.4.3.1. 访问类型 2.4.3.2. 公式 2.4.3.3. 类型 2.4.3.4. 索引 2.4.3.5. @Parent 2.4.3.6. 生成的属性 2.4.4. 继承 2.4.5. 关于单个关联关系的注解 2.4.5.1. 延迟选项和获取模式 2.4.6. 关于集合类型的注解 2.4.6.1. 参数注解 2.4.6.2. 更多的集合类型 2.4.7. 缓存 2.4.8. 过滤器 2.4.9. 查询 3. 通过XML覆写元数据 3.1. 原则 3.1.1. 全局级别的元数据 3.1.2. 实体级别的元数据 3.1.3. 属性级别的元数据 3.1.4. 关联级别的元数据 4. Hibernate验证器 4.1. 约束 4.1.1. 什么是约束? 4.1.2. 内建约束 4.1.3. 错误信息 4.1.4. 编写你自己的约束 4.1.5. 注解你的领域模型 4.2. 使用验证器框架 4.2.1. 数据库schema层次验证 4.2.2. Hibernate基于事件的验证 4.2.3. 程序级验证 4.2.4. 验证信息 5. Hibernate与Lucene集成 5.1. 使用Lucene为实体建立索引 5.1.1. 注解领域模型 5.1.2. 启用自动索引 A. 术语表

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值