Я работаю в проекте, использующем Hibernate + JPA.У меня есть класс Entity:
@Entity
public class CafeUser implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer userId;
@Column
private String userName;
@Column
private String userPassword;
@Column(unique=true)
private String userEmail;
@Column
private String userAddress;
@Column
private String userCountry;
@Column
private String userState;
@Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
private DateTime userDateOfBirth;
@Column
private String userSex;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="userAccountingDetailsId", referencedColumnName="userAccountingDetailsId")
private AccountingDetails accountingDetails;
@OneToOne(cascade=CascadeType.ALL)
private InvestorProfile investorProfile;
@OneToMany(mappedBy="user")
private Set<UserProfileAnswer> userProfileAnswers;
@OneToMany(cascade=CascadeType.ALL, mappedBy="user")
private Set<MoneyHealth> userMoneyHealths;
@OneToMany(cascade=CascadeType.ALL, mappedBy="user")
private Set<LifePlanning> lifePlannings;
getters-setters
}
Если вы видите, поле userEmail объявлено как уникальное, и если в БД есть дубликат сущности CafeUser, он не вставляет сущность.НО, поля "investorProfile" и "accountingDetails" вставляются, даже если они связаны с пользователем, у которого уже есть адрес электронной почты, зарегистрированный в базе данных.
Что я делаю неправильно ??
Спасибозаранее!