在JPA中未创建唯一约束

hom*_*xto 7 mysql jboss jpa unique-constraint

我创建了以下实体bean,并将两列指定为唯一.现在我的问题是创建的表没有唯一约束,并且日志中没有错误.有没有人有想法?

@Entity
@Table(name = "cm_blockList", uniqueConstraints = @UniqueConstraint(columnNames = {"terminal", "blockType"}))
public class BlockList {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    @ManyToOne(cascade = CascadeType.PERSIST)
    @JoinColumn(name="terminal")
    private Terminal terminal;
    @Enumerated(EnumType.STRING)
    private BlockType blockType;
    private String regEx;
}
Run Code Online (Sandbox Code Playgroud)

hom*_*xto 6

好吧,我找到了另一种制作设计的方法.更多是因为设计的演变不仅仅是一种解决方案.
然而,我从一位同事那里听到了同样的问题,那就是在创建整个数据库时,hibernate(我们运行JBoss 4.3)只创建了唯一约束.在现有数据库中创建新表时,它将不起作用.
所以在persistence.xml中,有必要设置hibernate.hbm2ddl.auto,以create-drop使其发挥作用.我不能证实这一点.