我试图使用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)