【发布时间】:2014-03-04 11:35:51
【问题描述】:
我已经定义了这样的单向多对多关系:
@Entity
@Table(name = "ODE_PROCESS_INSTANCE")
Public class ProcessInstanceDAOImpl extends OpenJPADAO implements ProcessInstanceDAO {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long _instanceId;
@ManyToMany(targetEntity = PolicyAttachmentDAOImpl.class)
private Collection<PolicyAttachmentDAO> _policyAttachments = new ArrayList<PolicyAttachmentDAO>();
public ProcessInstanceDAOImpl() {
}
public Collection<PolicyAttachmentDAO> getPolicyAttachments(){
return _policyAttachments;
}
public void setPolicyAttachments(Collection<PolicyAttachmentDAO> policyAttachments){
_policyAttachments = policyAttachments;
getEM().merge(this);
getEM().flush();
}
}
@Entity
@Table(name = "ODE_POLICY_ATTACHMENT")
public class PolicyAttachmentDAOImpl extends OpenJPADAO implements PolicyAttachmentDAO{
@Id
@Column(name = "POLICYATTACHMENT_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long _attachmentId;
@Basic
@Column(name = "POLICYATTACHMENT_NAME")
private String _attachmentName;
public PolicyAttachmentDAOImpl(String policyAttachmentName) {
_attachmentName = policyAttachmentName;
}
public void deletePolicyAttachment(){
//delete policy attachment DAO
getEM().remove(this);
getEM().flush();
}
}
连接表已创建。问题是当我从 ODE_POLICY_ATTACHMENT 中删除一条记录时,连接表没有更新。我该如何解决这个问题?
这就是我添加到 ta 的方式
Collection<PolicyAttachmentDAO> policyAttachments = new ArrayList<PolicyAttachmentDAO>();
attachmentDAO = new PolicyAttachmentDAOImpl("attachment_1");
policyAttachments.add(attachmentDAO);
attachmentDAO = new PolicyAttachmentDAOImpl("attachment_2");
policyAttachments.add(attachmentDAO);
attachmentDAO = new PolicyAttachmentDAOImpl("attachment_3");
policyAttachments.add(attachmentDAO);
//inst is an exisiting ProcessInstanceDAOImpl
inst.setPolicyAttachments(policyAttachments);
要从“ODE_PROCESS_INSTANCE”表中删除记录,我在 PolicyAttachmentDAOImpl 对象上调用方法 deletePolicyAttachment()。
【问题讨论】:
-
你确定
table没有更新或者对象之间的runtime relationships?因为在 JPA 中,程序员负责管理实体的runtime relationships。这会很有帮助:blog.xebia.com/2009/03/16/…
标签: java sql jpa many-to-many openjpa