2
我想删除ExternalProcessed文件具有相同的ExternalProcessedFileInfo但这个查询失败。很容易,当关系恢复到@onetomany和级联删除,但我没有找到ManytoOne关系的任何有用的例子。JPA manytoone关系删除操作
这是我想运行的代码,它将运行选择查询。
javax.persistence.Query query =this. manager.createQuery("Delete from ExternalProcessedFile "
+ " f WHERE f.processInfo.source.name= :source ");
query.setParameter("source",source.getName()) ;
EntityTransaction tran= manager.getTransaction();
try{
tran.begin();
query.executeUpdate();
tran.commit();
@Entity
@Table(name = "ProcessedFile")
public class ExternalProcessedFile implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "EID")
private Long id;
@NotNull
@ManyToOne
private ExternalProcessedFileInfo processInfo;
@Entity
@Table(name = "ProcessedFileInfo")
public class ExternalProcessedFileInfo implements Serializable {
public ExternalProcessedFileInfo(){
}
public ExternalProcessedFileInfo(String processtime,ExternalDataStorage source){
this.processTime=processtime;
this.source=source;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "EID")
private Long id;
@ManyToOne
@JoinColumn
private ExternalDataStorage source;
@NotEmpty
@Column(name = "processtime")
private String processTime;
这是什么意思不采取级联考虑。我不期望删除ExternalProcessedFile也删除ExternalProcessedFileInfo。我只想删除一组ExternalProcessedFileInfo的ExternalProcessedFileInfo属性 – ayengin 2011-06-07 14:51:04
也许查询失败,因为违反约束。您应该删除子实体。 – Bozho 2011-06-07 14:54:01
我想从外部处理文件中删除关系的所有者一方的记录,我认为它是chield.And异常说Sql语法异常。 – ayengin 2011-06-07 18:57:52