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

Hibernate ID为VARCHAR类型时主键生成策略

    博客分类:
  • Java
阅读更多
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

import org.hibernate.annotations.GenericGenerator;

@MappedSuperclass
public abstract class AbstractEntity implements Entity {
  

    private static final long serialVersionUID = -1L;
    @Id
    @GenericGenerator(name = "systemUUID", strategy = "uuid")
    @GeneratedValue(generator = "systemUUID")
    @Column(name = "id", insertable = true, updatable = true, nullable = false)
    private String id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}

 通过注解,可以通过hibernate实现实体类的VARCHAR类型主键自动生成UUID。

分享到:
评论

相关推荐

    Hibernate用UUID作为主键的Demo

    在Hibernate中,我们可以通过定义主键生成策略来实现UUID的使用。具体做法是在实体类的主键字段上使用`@GeneratedValue`和`@GenericGenerator`注解: ```java import javax.persistence.Entity; import javax....

    ID生成策略

    `Identity`是一种常见的自增主键生成策略,在MySQL、DB2以及MS SQL Server等数据库系统中均有支持。它能够为每一行记录生成一个唯一的ID值。例如,在MySQL中创建一个表时可以这样定义: ```sql CREATE TABLE t_user...

    美国硅谷SVSE软件工程教育Hibernate-Lesson2

    主键生成策略包括assigned、hilo、seqhilo、increment、identity、sequence、native、uuid.hex和foreign,根据不同的数据库特性和需求选择合适的策略。 - **复合主键映射**:当需要多个字段共同构成主键时,可以...

    为 Hibernate 创建一张简单的表

    在这个例子中,`@Entity`注解表明`User`类是一个数据库表的映射,而`@Id`和`@GeneratedValue`注解则定义了主键`id`,它的生成策略是自动递增。 接下来,我们需要配置Hibernate以连接到我们的数据库。这通常通过`...

    MyEclipse自动生成hibernate映射文件

    6. **设置主键策略**:选择主键的生成策略,如UUID等。 7. **设置类名与表名对应关系**:为每个生成的实体类设置对应的数据库表名。 8. **完成生成过程**:点击“完成”按钮后,返回MyEclipse视图查看生成的文件。...

    Hibernate 配置跟数据库字段的对应关系

    `@Id`注解标识了主键,`@GeneratedValue`则用于指定主键生成策略。 如果选择XML映射文件,那么对应的映射将在`*.hbm.xml`文件中完成,如: ```xml <hibernate-mapping> <id name="id"> </id> <!-- ... --...

    hibernate注解配置

    - **作用**:配置Hibernate特有的主键生成策略。 - **属性说明**: - **name**:生成器的名称。 - **strategy**:具体的生成策略。 - **parameters**:特定策略所需的参数。 - **策略说明**: - **native**:...

    Hibernate-add学习

    这些资料为初学者提供了关于Hibernate与数据库交互的基础知识,特别是在配置文件设置、主键生成策略以及数据类型的选择方面给出了实用的指导。对于希望深入了解Hibernate及其与不同数据库系统集成的人来说,这些都是...

    Hibernate笔记

    - **uuid:** 根据UUID算法生成一个字符串类型的主键值,适用于主键类型为varchar类型。 - **hilo:** 采用高低位算法生成一个数值类型的主键值。 - **foreign:** 使用另一个相关联对象的属性值充当主键值,适用...

    J2EE Hibernate-2.ppt

    例如,`Customer.hbm.xml`文件中,`<class>`元素指定了对应的Java类和数据库表,`<id>`元素映射了OID,而`<generator>`子元素定义了自动增长的主键生成策略。`<property>`元素则对应了类中的属性,如name、email、...

    Hibernate反向工程法.pdf

    4. **配置主键生成策略**:选择ID生成器为“increment”,意味着主键`Id`由数据库自动生成。 5. **调整类名和字段名**:根据需要调整生成的Java类和字段名称,使它们更符合命名规范或业务需求。 6. **完成配置**:...

    hibernate基础笔记

    这里使用了`hilo`主键生成策略,这是一种基于Hi/Lo算法的生成器,适用于多用户环境,可以避免并发问题。`generator`元素内的`class`属性指定了主键生成器的类型,`param`元素则提供了生成器所需的配置参数。 除了`...

    hibernate简单总结

    6. **标识符生成策略**:Hibernate提供了多种主键生成策略,如@TableGenerator、@SequenceGenerator、@GeneratedValue(IDENTITY、AUTO、SEQUENCE、TABLE),其中.AUTO策略依赖于数据库的自动增长功能,可能不适合...

    identity:用于MySql数据库

    `native`策略是一种通用的方法,它允许Hibernate根据底层数据库的特性选择最适合的主键生成策略。例如,在Oracle数据库中,默认使用`hibernate_sequence`序列。 ```xml <id name="id" column="id"> </id> ``` ##...

    hibernate参考文档

    选择不同的主键生成策略。 - **5.1.4.2 Hi/Lo算法** 一种简单高效的主键生成算法。 - **5.1.4.3 UUID算法** 使用UUID作为主键值。 通过上述内容的详细介绍,我们不仅可以了解到Hibernate的基本使用方法,还...

    dorado学习笔记

    例如,如果数据库中的`id`字段是`VARCHAR`类型,则应将程序中对应的主键生成策略设为`JDK-UUID`,并确保数据类型的兼容性。 #### 五、Tomcat 405 错误 如果应用部署到Tomcat后出现405错误(请求方法不被允许),...

Global site tag (gtag.js) - Google Analytics