3 回答
TA贡献1802条经验 获得超10个赞
您需要像这样设置适当的 Hibernate Generator
@Id
@GeneratedValue(generator = “UUID”)
@GenericGenerator(
name = “UUID”,
strategy = “org.hibernate.id.UUIDGenerator”,
)
private UUID id;
TA贡献1872条经验 获得超3个赞
import java.util.UUID;
@Table(name="address_book")
@Entity
public class AddressBook {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "name", updatable = false, nullable = false, columnDefinition = "VARCHAR(36)")
@Type(type = "uuid-char")
private String name;
.
.
.
}
这肯定会奏效。
TA贡献1860条经验 获得超8个赞
你真的是说BLOB吗?一个 UUID 是 128 位,当然不符合 LOB 列的条件。例如,您可以在 MySQL 中使用 Binary(16) 列。
现在回答你的问题,你需要告诉hibernate如何生成ID值。
@Id
@GeneratedValue(generator = "hibernate-uuid")
@GenericGenerator(name = "hibernate-uuid", strategy = "uuid2")
@Column(name = "id", columnDefinition = "BINARY(16)")
protected UUID id;
添加回答
举报