`
walsh
  • 浏览: 433224 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Hibernate学习之-----主键生成器

阅读更多

Hibernate推荐数据表采用逻辑主键,而不采用有物理含义的实体主键。逻辑主键没有实际意义,仅仅用来标识一行记录,通常由Hibernate负责生成。负责生成主键的工具称为主键生成器,应尽量为每个持久化类都设置主键生成器

主键生成器是负责生成数据记录的主键,通常有如下集中常用的主键生成器。

  1. increment:对long,short或int的数据列生成自动增长主键。
  2. identity:对如SQL server,MySQL等支持自动增长列的数据库,如果数据库列的类型是long,short和int,可使用主键生成器生成自动增长主键。
  3. sequence:对如Oracle,DB2等支持Sequence的数据库,如果数据列的类型是long,short或int,可使用该主键生成器生成自动增长主键。
  4. uuid:对字符串列的数据采用128-位uuid算法生成唯一的字符串主键。
分享到:
评论

相关推荐

    hibernate-extensions-2.1.3.zip ,middlegen for hibernate

    Middlegen是针对Hibernate的一个元数据生成工具,它能根据现有的数据库模式生成对应的Hibernate映射文件(.hbm.xml)和Java实体类。这样,开发者无需手动编写这些繁琐的映射代码,可以专注于业务逻辑的实现。...

    Hibernate主键策略-sequence

    Hibernate通过`org.hibernate.id.SequenceGenerator`类来实现序列主键生成器。在`nextValue()`方法中,它会与数据库进行交互,获取序列的下一个值。这个过程涉及到JDBC操作,包括SQL的执行和结果的处理。 3. **...

    hibernate-release-5.0.7 全包

    3. **antlr-2.7.7.jar**:ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。在Hibernate中,ANTLR主要用于解析HQL(Hibernate Query Language)和JPQL(Java Persistence Query ...

    hibernate源码release-4.1.4.Final版

    Hibernate通过@Entity注解标记Java类为数据库表的映射,@Table定义表名,@Id指定主键,@GeneratedValue管理主键生成策略。其他如@Column、@OneToMany、@ManyToOne等注解则用于定义字段映射关系。 四、缓存机制 ...

    hibernate-annotations-3.4.0.GA.chm中文版

    @Id用于标记主键字段,可以配合@IdClass或@GeneratedValue来定义主键生成策略。 2. **属性注解**:@Column定义列名和属性,如长度、是否允许为空等。@GeneratedValue用于设置自动增长策略,如IDENTITY、SEQUENCE或...

    hibernate-release-5.2.10

    例如,@Entity表示实体类,@Table指定表名,@Id标识主键,@GeneratedValue指定主键生成策略。 五、持久化操作 1. 插入:Session的save()或saveOrUpdate()方法用于插入新记录。 2. 更新:update()或merge()方法更新...

    hibernate-annotations-3.4.0.GA

    《Hibernate Annotations 3.4.0.GA:深入解析企业级Java持久化框架》 Hibernate是Java领域中广泛使用的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。而...

    hibernate-release-4.3.11.Final.lib.required.zip

    2. **实体类与映射文件**:实体类代表数据库中的表,每个实体类对应一个XML映射文件(如.hbm.xml),用于定义字段与数据库列的映射关系,以及主键生成策略等。自4.0版本后,Hibernate引入了注解配置,可以直接在实体...

    hibernate--- jar包

    例如,@Id注解标识主键,@GeneratedValue用于自动生成主键值。 3. **配置SessionFactory**: SessionFactory是Hibernate的主要工厂类,负责创建Session对象。配置文件(通常为hibernate.cfg.xml)中包含了数据库连接...

    hibernate-release-4.2.19.Final

    @Id、@GeneratedValue指定主键生成策略。 - **SessionFactory与Session**:SessionFactory是线程安全的,用于创建单个Session,而Session是数据库会话,负责CRUD操作。 4. **查询与映射** - **HQL(Hibernate ...

    hibernate-reference-3.1.1.pdf

    其中,关于主键生成策略的讨论,如Hi/Lo算法、UUID算法和自动增长列的处理,为开发者提供了多种选择,以适应不同的场景需求。 综上所述,《hibernate-reference-3.1.1.pdf》不仅是一份技术手册,更是Hibernate...

    hibernate-release-4.1.4.Final核心jar包

    `@Entity`、`@Table`、`@Id`等注解用于定义实体类,而`@GeneratedValue`用于处理主键生成策略。 3. **HQL(Hibernate Query Language)**:这是一种面向对象的查询语言,类似于SQL,但更贴近Java对象。HQL允许...

    hibernate-release-5.4.21.Final.zip

    10. **事件和监听器**:Hibernate允许开发者通过实现特定接口或使用注解来监听对象生命周期中的某些事件,如加载、保存、更新和删除,以便进行额外的操作。 11. **方言(Dialect)**:Hibernate支持多种数据库,...

    hibernate-html-single

    例如,`@Id`表示主键,`@GeneratedValue`用于自动生成主键值。 4. **持久化类和持久化对象(Persistent Class/Object)**: 当一个Java对象被Hibernate管理时,它就成为持久化对象。这些对象的状态可以被保存到...

    hibernate-distribution-3.6.10.Final-dist

    Hibernate支持多种主键生成策略,如`GenerationType.AUTO`,`GenerationType.IDENTITY`等。 5. **会话(Session)**:Hibernate的工作核心,它是数据库操作的桥梁。会话对象负责在应用程序和数据库之间传递数据,...

    hibernate-orm-4.2.20.Final.zip源码

    Hibernate,作为Java领域最著名的对象关系映射(ORM)框架之一,以其强大的功能和灵活的设计深受开发者喜爱。本文将围绕hibernate-orm-4.2.20.Final版本的源码,探讨其核心设计理念、主要组件以及实现机制,帮助读者...

    Hibernate映射文件主键的生成

    以上就是Hibernate主键生成的常见策略,每种策略都有其适用的场景。在实际开发中,应根据数据库类型和需求选择合适的主键生成策略,确保数据的一致性和完整性。理解并正确配置这些策略,将有助于提高程序的稳定性和...

    hibernate-orm-3.2.zip

    例如,`@Entity`注解表示这是个数据库中的表,`@Table`定义表名,`@Id`标识主键,`@GeneratedValue`指定主键生成策略等。 四、Session和Transaction 在Hibernate中,`Session`是与数据库交互的主要接口,它负责...

    hibernate-distribution-3.3.1.GA-dist.zip

    7. **事件和监听器**:Hibernate允许注册监听器来处理特定的持久化事件,如预加载、加载、保存、更新和删除。这为开发者提供了扩展和定制的机会。 8. **JPA兼容性**:虽然Hibernate最初不是Java Persistence API...

Global site tag (gtag.js) - Google Analytics