I have a table with a unique constraint on 3 columns, two of which can be null.
private AttributeValuesId id; @EmbeddedId @AttributeOverrides({ @AttributeOverride(name = "attributeId", column = @Column(name = "ATTRIBUTE_ID", nullable = false, precision = 22, scale = 0)), @AttributeOverride(name = "addressId", column = @Column(name = "ADDRESS_ID", precision = 22, scale = 0)), @AttributeOverride(name = "domain", column = @Column(name = "DOMAIN", length = 256))}) @NotNull public AttributeValuesId getId() { return this.id; }