`
laodaobazi
  • 浏览: 272799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate 注解概述

阅读更多

Hibernate 注解

定义在 class 上面的注解 :

 实体 @Entity

 表 @Table

 Sequence 自定义名字 @SequenceGenerator(name="mySeq" , sequenceName="mySeq_DB")
 
 表生成器 @java.persistence.TableGenerator(
   name = "表生成器的名字:myTableGen" ,
   table = "表生成器的表明:GENERATOR_TABLE" ,
   pkColumnName = "表中key字段的名字:pk_key" ,
   valueColumnName = "表中value字段的名字:pk_value" ,
   pkColumnValue = "第一条记录key字段的数据:table1" ,
   allocationSize = 1 取完数值后数值步进的数值
  )

定义在 属性上面的注解 :

 如果字段上面不写任何注解 默认 @Basic

 主键ID @id

 主键的生成策略 @GeneratedValue 默认auto  相当于 native ;@GeneratedValue(stratege=Generation.SEQUENCE , generator="mySeq"/**只有上面定义了才能使用*/)
 此时这个表 才用的是这个自定义的 Sequence
 
 另一种主键的生成策略 @GeneratedValue(stratege=Generation.TABLE , generator="myTableGen"/**只有上面定义了才能使用*/)

 定义符合主键的三种方式 :
  1、将组件类注解为 @Embeddable ,并将组件的属性注解为 @id
  2、将组件的属性注解为 @EmbeddedId
  3、将类注解为 @IdClass(组件类.class) ,并将该实体中的所有属于主键的属性注解为 @Id
 字段 @Column(name="字段名字" , length="长度" , precision="精度")

 透明 @Transient :不会在数据库中创建该字段

 时间日期字段设置精度 @Temporal:日期时间 、@Temporal(TemporalType.DATE):日期 、@Temporal(TemporalType.TIME):时间

 枚举 @Enumerated(EnumType.STRING):枚举的名字  、@Enumerated(EnumType.ORDINAL) :枚举的下标值

注意 :
 
 Hibernate 注解应当写在 getXxx() 方法上面,而不是写在属性上面
原因 :
 破坏了 Java 的封装的特性,属性都是 private 的,不应该被Hibernate所访问
 Hibernate 可以访问你的私有属性 甚至可以修改

 Hibernate load 和 get 区别
 load 是懒加载  当你取 对象里面的属性值的时候才真正的去执行 SQL 语句
 get  是立即执行 SQL 查询 然后直接付给 对象使用

分享到:
评论

相关推荐

    Hibernate学习笔记和资料

    hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...

    Hibernate实战(第2版 中文高清版)

     5.2.1 概述实体和值类型   5.2.2 内建的映射类型   5.2.3 使用映射类型   5.3 创建定制的映射类型   5.3.1 考虑定制的映射类型   5.3.2 扩展点   5.3.3 定制映射类型的案例   5.3.4 创建UserType  ...

    跟我学spring3(8-13).pdf

    对ORM的支持 之 8.1 概述 8.2 集成Hibernate3 8.3 集成iBATIS 8.4 集成JPA 9.1 数据库事务概述 9.2 事务管理器 9.3 编程式事务 9.4 声明式事务 10.1 概述 10.2 集成Struts1.x 10.3 集成Struts2.x 10.4 集成JSF 11.1 ...

    spring-boot-jpa-hibernate-demo:Spring Boot中的JPA + Hibernate + MySQL

    具体方法不再赘述项目通过配置DBConfig这个类来配置JPA到Hibernate的结合,读者可自行将DBConfig中有关Hibernate的相关配置提取到application.properties文件中框架SpringBootSpringMVCSpring data JPAMySQL概述一个...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    77道Spring面试题以及参考答案(2024年最新版)

    这篇文章总结了77道Spring面试题及答案,涵盖了Spring的多个核心主题,包括Spring概述、Spring控制反转(IoC)、Spring Bean、Spring注解、Spring数据访问和Spring面向切面编程(AOP)等。文章对每个主题下的重点问题都给...

    Spring.3.x企业应用开发实战(完整版).part2

    第1篇 概述 第1章 Spring概述 1.1 认识Spring 1.2 关于SpringSource 1.3 Spring带给我们什么 1.4 Spring体系结构 1.5 Spring 3.0的新功能 1.5.1 核心API更新到Java 5. 1.5.2 Spring表达式语言 1.5.3 可通过Java类...

    Spring3.x企业应用开发实战(完整版) part1

    第1篇 概述 第1章 Spring概述 1.1 认识Spring 1.2 关于SpringSource 1.3 Spring带给我们什么 1.4 Spring体系结构 1.5 Spring 3.0的新功能 1.5.1 核心API更新到Java 5. 1.5.2 Spring表达式语言 1.5.3 可通过Java类...

    基于java的企业级应用开发:Spring概述.ppt

    方便集成各种优秀框架 Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。 降低Java EE API的使用难度 Spring对Java EE开发中非常难用的一些...

    跟我学spring3(8-13)

    【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3 【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3 【第八章】 对ORM的支持 之 8.4 集成JPA ——跟我学spring3 【第九章】 Spring的...

    MyEclipse JPA 教程

     JPA是一个新的类似Hibernate的持久化规范,它已经成为Java EE5规范的一部分。JPA使用Java 5的注解(annotation)来控制将单纯Java类(POJO对象)映射到数据库中的表。MyEclipse的JPA工具提供了功能强大的生成和...

    javaspring 培训教程 TP1.docx

    也支持其他开源框架,比如 Hibernate 、MyBatis 等。 Java Spring 的优点是可扩展性更高、更加灵活,可以适应各种场景 的需求。 Java Spring 培训教程 TP1 是一个初级教程,旨在帮助 Java 初学者学习 Java Spring ...

    深入浅出Struts2(附源码)

    11.3 Hibernate 221 11.4 小结 221 第12章文件的上传 222 12.1 文件上传概述 222 12.2 在Struts里上传文件 223 12.3 File Upload拦截器 224 12.4 上传单个文件示例 225 12.5 上传多个文件示例 227 12.6 小结...

    基于JavaWEB+SSM+mysql框架构建的在线商城系统源码+数据库+项目说明(课程设计).zip

    * [SSM开发 | 实现 Mybatis 的通用 Mapper,免写 SQL 自动处理关联查询 (类hibernate)(mybatis-generator+自定义插件+自定义注解+静态代理+泛型+反射)][7] * [SSM开发 | 配合Mybatis,通过泛型实现 ...

    spring-intro:Spring 框架简介,超过 10 节课程

    Spring框架介绍========================Spring 框架简介,超过 10 节课程课程大纲S01 - Spring 简介Spring 介绍和概述三层架构 - 简短介绍和 Spring 在每一层中的作用在 webapp 中连接 Spring 基于 Spring 注解的 ...

    jdbc笔记(自写)

    Hibernate实现了该规范.(xml/注解) -------------------------------------------------------------------------------------------------------------------- 在Java中,数据库存取技术 只能通过JDBC 访问...

    Spring+3.x企业应用开发实战光盘源码(全)

    第1章:对Spring框架进行宏观性的概述,力图使读者建立起对Spring整体性的认识。  第2章:通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速跨入Spring Web应用的世界。  第3章:...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    11.3 Hibernate 221 11.4 小结 221 第12章 文件的上传 222 12.1 文件上传概述 222 12.2 在Struts里上传文件 223 12.3 File Upload拦截器 224 12.4 上传单个文件示例 225 12.5 上传多个文件示例 227 12.6 小结 230 ...

Global site tag (gtag.js) - Google Analytics