3 回答

TA貢獻1802條經驗 獲得超10個贊
您需要像這樣設置適當的 Hibernate?Generator
@Id
@GeneratedValue(generator = “UUID”)
@GenericGenerator(
? ? name = “UUID”,
? ? strategy = “org.hibernate.id.UUIDGenerator”,
)
private UUID id;

TA貢獻1872條經驗 獲得超4個贊
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;
添加回答
舉報