gpt4 book ai didi

mysql - 未在 JPA 中创建的唯一约束

转载 作者:可可西里 更新时间:2023-11-01 06:37:04 24 4
gpt4 key购买 nike

我创建了以下实体 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;
}

最佳答案

好吧,我找到了另一种设计方法。更多的是因为设计的演变而不是变通。
然而,我从一位同事那里听说,他遇到了同样的问题,即唯一约束仅在创建整个数据库时由休眠(我们正在运行 JBoss 4.3)创建。当您在现有数据库中创建新表时,它将不起作用。
所以在 persistence.xml 中有必要将 hibernate.hbm2ddl.auto 设置为 create-drop 以使其工作。不过我无法确认这一点。

关于mysql - 未在 JPA 中创建的唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2944112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com