当通过Postman插入雇员记录时,我得到以下异常。
我有以下表:1.emp_boarding_detail -> Has subcon_id coulmn and subcon_id can be null.2.suncon_details table - Having subcon_id as Primary Key 3. 其他一些表也有
异常。"org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : com.boarding.preboardingentities.Empboardingdetails.subcondetails -> com.boarding.preboardingentities.Subcondetails; nested exception is java. lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : com.boarding.preboardingentities.Empboardingdetails.subcondetails -> com.boarding.preboardingentities.Subcondetails"
在EmpboardingDetails实体类中,我定义了如下关系:
这就是我的SubconDetails实体类。
由于subcon_id可能是空的 所以我在SubconDetail类中添加了新的列id。这样做对吗?当我没有按以下方式传递SubconDetail时,我得到了以下异常。
我的Post Request(Postman)的一部分。"sub_con_id" : { "sub_con_id" : "", "subcontractor_or_companyname" : "", "w2payer_company" : "" },
最有可能的问题是,当你试图持久化Most EmpboardingDetails实体时,SubconDetail实体在持久化上下文中不存在。
为了解决这个问题,你必须事先创建SubconDetail,或者在EmpBoardingDetails类中加入以下内容。
@OneToOne(cascade = CascadeType.ALL)
也可以看看这个 文章