我有一個僱主表用含有userprofileId休眠:無法對象被包含已保存對象
僱主表模式的參考時如所陳述如下含有userprofileid其是使用JPA保存對象用戶表中的主鍵
id int(11) (not NULL) PRI
userprofileid int(11) (not nUll)
organization_name varchar(50) (not nUll)
現在我的要求是爲這個僱主創建一個JPA類。
現在我們有Employer.java,下面輸入。
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(fetch=FetchType.LAZY,cascade = CascadeType.ALL)
@JoinColumn(name="userProfileId", referencedColumnName="id")
@Column(insertable=false ,updatable =false)
private UserProfile userProfile;
@Column(name = "organization_name")
private String organizationName;
現在的障礙是。 我們的UserProfile對象是以不同的方法創建的。現在我不想再爲userprofile表添加相同的值,所以我在employer.java中使insertable = false和updatable = false,以便字段不會更新;
沒有,如果我設置USERPROFILE的僱主對象的值
它說
org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: com.hcentive.core.user.UserProfile; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: com.hcentive.core.user.UserProfile
,但如果我不設置用戶配置文件它給下面的錯誤。
Caused by: java.sql.SQLException: Field 'userprofileid' doesn't have a default value
注以用於存留我使用:
getJpaTemplate().persist(t);