EJB3.x: 關于@UniqueConstraint標記無效問題
在制定Entity Bean時,設置了該實體的@UniqueConstraint限制。但是對該實體Bean進行部署后,并沒有在數據庫表中看到對應表字段出現unique限制。這是因為@UniqueConstraint標記必須在自動生成表的情況下才起作用。即,在persistence.xml中將hibernate.hbm2ddl.auto設置為create-drop。否則,唯一性約束限制不會被加入到數據庫中。
以下是《JSR 220: Enterprise JavaBeansTM,Version 3.0 Java Persistence API》文檔的原文說明:
Type
|
Name
|
Description
|
Default
|
UniqueConstraint[]
|
uniqueConstraints
|
(Optional) Unique constraints that are to be placed on the table. These are only used if table generation is in effect. These constraints apply in addition to any constraints specified by the Column and JoinColumn annotations and constraints entailed by primary key mappings.
|
No additional
constraints
|