Возможно ли в модели hibernate
использовать пример использования, в котором у вас есть два поля, и любой из них может быть нулевым, но по крайней мере один из них не должно быть нулевым? Ниже приведен код, который у меня есть на данный момент, но мне не нравится тот факт, что я должен установить оба из них в @Column(nullable = true)
. В моем случае я хочу либо личный адрес электронной почты, либо рабочий адрес. Есть ли хороший способ поддержать это? Или нужен альтернативный подход?Hibernate - Любое поле A OR B может быть нулевым, но один из A или B не должен быть нулевым.
public class ApplicantDetails {
//...
@OneToOne(optional = false)
private ContactDetails contactDetails;
//...
}
public class ContactDetails {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
/*Need at least one email address but it doesn't matter which one.*/
@Column(nullable = true, unique = true)
private String personalEmail;
@Column(nullable = true, unique = true)
private String workEmail;
//...
}
посмотреть на побитовые операции XOR [http://stackoverflow.com/questions/1991380/what-does-the-operator-do -in-java] (http://stackoverflow.com/questions/1991380/what-does-the-operator-do-in-java) –
@leviClouser, как он может помочь здесь? –