我有一個OneToMany關係,我可以插入記錄但不能刪除它們,當我嘗試刪除它時會遇到「外鍵約束失敗」錯誤。我已經使用級聯刪除孤兒如下,但不工作。不能在休眠狀態下刪除OneToMany關係的一個實例
父類有以下的getter其成員
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
@Entity
@DynamicUpdate
public class User extends Employee{
private string userli;
privae List<Message> messagelist();
.....
@OneToMany(fetch = FetchType.LAZY,cascade = CascadeType.REMOVE)
public List<Message> getMessagelist() {
return messagelist;
}
成員類有以下的getter其父
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
......
@ManyToOne
public User getReciever() {
return reciever;
}
我用下面的註釋,以及,但沒有奏效
@Cascade(org.hibernate.annotations.CascadeType.DELETE)
我的休眠依賴如下
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.1.Final</version>
<type>jar</type>
</dependency>
我的代碼來刪除該消息
Message message = (Message) session.get(Message.class, id);
session.delete(message);
tx.commit();
運行到同樣的錯誤。 –