小编toa*_*uth的帖子

Hibernate/JPA 2/PostgreSQL - 实体UUID作为主键

我试图使用UUID作为Hibernate的主键,让PostgreSQL或Hibernate自动生成这些ID.理想情况下,我也想拥有java.util.UUID可以与之合作的对象.

为此,我正在尝试将其映射java.util.UUID到Postgres中的UUID数据类型.我可以让Hibernate正确生成数据库,并将数据放入实体的表中.但是,通过Spring检索数据,我得到了这个:

Provided id of the wrong type for class com.example.somepackage.Brand. Expected: class java.util.UUID, got class java.lang.String; nested exception is java.lang.IllegalArgumentException: Provided id of the wrong type for class com.example.somepackage.Brand. Expected: class java.util.UUID, got class java.lang.String
Run Code Online (Sandbox Code Playgroud)

如果这是一个简单的修复,请道歉; 我是Spring/Hibernate的新手.一些帮助将不胜感激.

@Entity
public class Brand {

    @javax.persistence.Id
    @GenericGenerator(name = "uuid-gen", strategy = "uuid2")
    @GeneratedValue(generator = "uuid-gen")
    @org.hibernate.annotations.Type(type="pg-uuid")
    private UUID id;
    private String brand;

    public UUID getId() {
        return id;
    }

    public void setId(UUID id) {
        this.id = id;
    } …
Run Code Online (Sandbox Code Playgroud)

postgresql uuid hibernate jpa primary-key

10
推荐指数
1
解决办法
6855
查看次数

标签 统计

hibernate ×1

jpa ×1

postgresql ×1

primary-key ×1

uuid ×1