mysql - Hibernate 不生成唯一约束

标签 mysql hibernate jpa jboss

我有以下实体,我希望其列名是唯一的。出于某种原因,Hibernate 在自动生成表时没有生成任何唯一约束。关于为什么 Hibernate 不强制执行此唯一约束的任何想法?我在 JBoss EAP 6.1 上运行 MySQL 5.5 和 Hibernate 4.2.0。

@Entity
@Table(name = "Address", uniqueConstraints = @UniqueConstraint(columnNames = { "Name" }))
public class AddressEntity {

    private int id;
    private String name;
    private String streetAddress;
    private String country;
    private String city;
    private String zip;

    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Column(name = "Name", unique = true, nullable = false)
    public String getName() {
        return name;
    }

    // getters and setters...
}

最佳答案

尝试从 @Table 中删除 uniqueConstraint

关于mysql - Hibernate 不生成唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18226971/

相关文章:

MySQL 查询需要更多时间来获取数据 [MySQL]

php - 使用具有多个 WHERE 条件的准备语句更新查询

mysql - 我安装了 phpMyAdmin,并跳过了输入密码的步骤,现在无法做太多事情

java - @Transactional 的 "REQUIRES_NEW"传播属性的实际用例是什么

hibernate - grails/gorm:分配受 'unique'约束的属性

jpa - Hibernate Envers 无法删除实体

mysql - 如何根据另一个可以动态更新的表的信息使用mysql实现Pivot属性(或输出)

java - Spring-Data:具有 Java 配置的未知实体

java - JPA中@javax.persistence.Lob注解有什么意义?

java - 为什么持久化上下文的大小会影响 Hibernate 中的查询时间