`
小笨熊
  • 浏览: 62162 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

hibernate基于注解的主键设置

阅读更多
基于注解的hibernate主键设置:@Id.
那么它的生成规则是什么呢?是由@GeneratedValue来规定的。

我们先来看看它是如何定义的:
@Target({METHOD,FIELD})
	@Retention(RUNTIME)
	public @interface GeneratedValue{
		GenerationType strategy() default AUTO;
		String generator() default "";
	}


        
public enum GenerationType{
		TABLE,
		SEQUENCE,
		IDENTITY,
		AUTO
	}

现在我们看到了,它提供了4种生成策略:
TABLE:使用一个特定的数据库表格来保存标识符序列。
SEQUENCE:生成序列化标识符。
IDENTITY:标识符有数据库自动生成(主要是自动增长型)
AUTO:标识符生成工作由hibernate自动处理。实际项目开发不建议使用。
注意:当主键为int,而数据库中又不是自动增长型时,使用@GeneratedValue是无法正常工作的。

我们也可以使用下面的方式来自己指定我们的主键值:
          
@GeneratedValue(generator = "c-assigned")
	@GenericGenerator(name = "c-assigned", strategy = "assigned")
     private String employeeId;

或者直接不要定义@GeneratedValue,只定义@Id效果也是一样的。
分享到:
评论

相关推荐

    java hibernate使用注解来定义联合主键

    主要介绍了java hibernate使用注解来定义联合主键的相关资料,需要的朋友可以参考下

    Hibernate Annotation 共享主键一对一双向关联

    NULL 博文链接:https://paladin1988.iteye.com/blog/1639102

    Hibernate注解映射联合主键

    联合主键用Hibernate注解映射方式主要有三种: 第一、将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将该类注解为@Embeddable,最后在主类中(该类不包含联合主键...

    Hibernate注解

    * @GenericGenerator —— 注解声明了一个hibernate的主键生成策略。支持十三种策略。该注解有如下属性 * name 指定生成器名称 * strategy 指定具体生成器的类名(指定生成策略)。 * parameters 得到strategy指定的...

    hibernate一对一主键关联(注解版)

    hibernate一对一主键关联(注解版)

    hibernate注解说明文档

    hibernate注解说明文档 hibernate注释说明: * @Entity —— 将一个类声明为一个实体bean(即一个持久化POJO类) * @Id —— 注解声明了该实体bean的标识属性(对应表中的主键)。

    hibernate注解中的名词解释

    @Id —— 注解声明了该实体bean的标识属性(对应表中的主键)。 @Table —— 注解声明了该实体bean映射指定的表(table),目录(catalog)和schema的名字 @Column —— 注解声明了属性到列的映射。该注解有如下的...

    hibernate注解案例

    Hibernate 的注解学习 ExportDBAnnotation HibernateAnnotationUtils 【一对一】关系映射【一对多】关系映射 【多对多】关系映射 【composite复合主键】关系映射【component组件】关系映射

    Hibernate注解编程实例

    * hibernate注释说明: * @Entity —— 将一个类声明为...* @Id —— 注解声明了该实体bean的标识属性(对应表中的主键)。 * @Table —— 注解声明了该实体bean映射指定的表(table),目录(catalog)和schema的名字

    Hibernate Annotations 中文文档

    Hibernate Annotations API 中文文档 ...4.2.2. Hibernate基于事件的验证 4.2.3. 程序级验证 4.2.4. 验证信息 5. Hibernate与Lucene集成 5.1. 使用Lucene为实体建立索引 5.1.1. 注解领域模型 5.1.2. 启用自动索引

    hibernate注解说明

    * hibernate注释说明: * @Entity —— 将一个类声明为一个实体bean(即一个持久化POJO类) * @Id —— 注解声明了该实体bean的标识属性(对应表中的主键)。

    hibernate annotation 中文文档

    前言 1. 翻译说明 ...4.2.2. Hibernate基于事件的验证 4.2.3. 程序级验证 4.2.4. 验证信息 5. Hibernate与Lucene集成 5.1. 使用Lucene为实体建立索引 5.1.1. 注解领域模型 5.1.2. 启用自动索引 A. 术语表

    Hibernate注释大全收藏

    • 将类注解为 @IdClass,并将该实体中所有主键的属性都注解为 @Id @Entity @IdClass(FootballerPk.class) public class Footballer { //part of the id key @Id public String getFirstname() { return ...

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

     3.3.2 基于注解的元数据   3.3.3 使用XDoclet   3.3.4 处理全局的元数据   3.3.5 运行时操作元数据   3.4 其他实体表示法   3.4.1 创建动态的应用程序   3.4.2 表示XML中的数据   3.5 小结  第二...

    hibernate annotation帮助文档

    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. 关于...

    hibernate总结

    Hibernate映射一对一(通过主键实现一对一的关系) //主PO对象(一个员工对个应一个身份证) public class Employees implements Serializable{ private Integer empid; private String name; private String sex...

    最全Hibernate 参考文档

    5.4.2. 使用 JDK 5.0 的注解(Annotation) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合...

    Hibernate 中文 html 帮助文档

    5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties) 5.7. 辅助数据库对象(Auxiliary Database Objects) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) ...

    Hibernate教程

    6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. ...

Global site tag (gtag.js) - Google Analytics