我有兩個類:Employee
和Award
,具有多對多的關係。休眠多對多關聯刪除錯誤
當試圖刪除我得到一個約束違規錯誤。我瀏覽了所有帖子,但都沒有幫助。
這是代碼:
@Entity
@Table(name="TB_AWARD")
public class Award implements Serializable{
@Id @GeneratedValue
@Column(name="AWARD_ID")
private long awardId;
@ManyToMany(mappedBy="awards")
@NotFound(action=NotFoundAction.IGNORE)
private Collection<Employee> employee = new ArrayList<Employee>();
@Column(name="AWARD_TYPE")
private String awardType;
@Column(name="AWARD_DATE")
private Date awardDate;
@Column(name="AWARD_DETAILS")
@Lob
private String awardDetails;
@Column(name="REMARK")
private String remark;
@Entity
@Table(name="TB_EMPLOYEE")
public class Employee implements Serializable {
@Id @GeneratedValue
@Column(name="EMPLOYEE_ID")
private long employeeID;
@ManyToMany(cascade= CascadeType.ALL)
private Collection<Award> awards;
buddy我是hibernate的開端,這是我得到的錯誤com.microsoft.sqlserver.jdbc.SQLServerException:DELETE語句與參考約束「FK5759580C246A5898」衝突。衝突發生在數據庫「HRIS_DATABASE」,表「dbo.TB_EMPLOYEE_TB_AWARD」,列「awards_AWARD_ID」。 – 2012-07-26 19:37:04
這不是休眠異常。請參閱錯誤前綴。它是數據庫異常。 。你有FK,dosnt允許爲空。當你刪除。 hibernate首先設置null並且不刪除。首先刪除FK並查看它是否工作。 – 2012-07-26 19:41:07
好吧,我會盡力感謝您的建議 – 2012-07-26 19:50:08