我尝试删除表中的一行:
我的页面:
<p:dataTable id="table" styleClass="tableHistory" value="#{patientCardMB.history}" var="history" paginator="true" rows="15" rowKey="#{history.id}" selection="#{patientCardMB.patientCard}" selectionMode="single" >
<f:facet name="header">
Historia
</f:facet>
<p:column headerText="#{msg.date}">
<h:outputText id="historyText" value="#{history.dateVisit}"/>
</p:column>
<p:ajax event="rowSelect" listener="#{tableBean.onRowSelect()}" update=":form:table" />
<f:facet name="footer">
<p:commandButton id="viewButton" value="#{msg.info}" icon="ui-icon-search"
update=":form:display" oncomplete="userDialog.show()" disabled="#{tableBean.flag}"/>
<p:commandButton action="#{patientCardMB.createStart()}" value="#{msg.add}" icon="ui-icon-plus" />
<p:commandButton action="#{patientCardMB.editStart()}" value="#{msg.edit}" disabled="#{tableBean.flag}" ajax="false" icon="ui-icon-pencil"/>
<p:commandButton value="#{msg.delete}" onclick="confirmation.show()" type="button" disabled="#{tableBean.flag}" icon="ui-icon-close"/>
<p:confirmDialog id="confirmDialog" message="Jesteś pewien, że chcesz usunąć wybrany wpis?"
header="Potwierdzenie usunięcia" severity="alert" widgetVar="confirmation">
<p:commandButton id="confirm" value="Tak" oncomplete="confirmation.hide()"
action="#{patientCardMB.delete()}" />
<p:commandButton id="decline" value="Nie" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
</f:facet>
</p:dataTable>
public String delete() {
System.out.println(patientCard);
try {
patientCardDao.delete(patientCard);
} catch (EJBException e) {
sendErrorMessageToUser("Błąd usuwania wpisu");
}
sendInfoMessageToUser("Wpis usunięty");
return "delete";
}
@Override
public void delete(PatientCard patientCard) {
PatientCard toRemoved = em.merge(patientCard);
em.remove(toRemoved);
}
public class PatientCard implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Basic(optional = false)
@NotNull
@Column(name = "dateVisit")
@Temporal(TemporalType.TIMESTAMP)
private Date dateVisit;
@Size(max = 4000)
@Column(name = "diagnosis")
private String diagnosis;
@Size(max = 250)
@Column(name = "medications")
private String medications;
@JoinColumn(name = "patient_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private User patientId;
@JoinColumn(name = "doctor_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private User doctorId;
我现在不知道为什么我会有这个错误。之前我确实删除了一个类似的实体,所有的工作。
我想您在中缺少了process和update属性
<p:commandButton id="confirm" value="Tak" oncomplete="confirmation.hide()"
action="#{patientCardMB.delete()}" process="@parent" update="@form" />
我有ContactEntity(父)和PhoneNumberComponent(子)关系。当我试图成为一名管理者时。删除孩子我得到下面的例外。 此外,我注意到,如果我删除级联类型。保持或更改类型。渴望在AbstractContactEntity中的电话号码映射中偷懒,我的JUnit通过了。 有人能告诉我我错过了什么吗? 使用:hibernate、hsqldb 您在我的JUnit中看到的最后em.f
另外,我有一个IOC托管bean,它内部有一个事务方法。 有2个实体具有单向Many2One-- AuModule在上没有引用
我有以下实体: null null 但看起来像是黑客。 所以,1。我做错了什么?看起来,直接删除子实体 2是正确的。有没有更优雅的方法来处理这个? 可复制的例子:
我的问题很简单,但找到解决办法却成了一项相当乏味和困难的任务。 我有两个冬眠实体, (或“父”实体)有三个字段, (实体的集合-关系)。 当从的集合中删除时(从对象的集合中删除和通过Dog存储库从数据库中删除),以及更新所有者的地址,然后尝试将更新后的对象保存到数据库中,将引发以下异常: 解决这个问题的一种方法是,在更新集合后,通过使用调用所有者的,获取的新版本,然后更新所有者的地址并将实体保存到
问题内容: 我有这种实体: 文件| n ..至..1 | DocumentType | 1 ..至.. n | PropertyType | 1 ..至.. n | 文件属性 我只是尝试删除一个文档,例如:entityManager.remove(document); 但触发错误: 16:45:51,499错误[[Seam Resource Servlet]] Servlet的Servlet.se
我在尝试使用Spring Data JPA和Hibernate作为JPA提供程序执行批插入操作时遇到了问题。 我有以下方法在我的服务。这就是抛出异常的地方。 Institute是一个实例变量,并提前获取。 我还将实体设置为级联、持久和合并。 为什么这段代码起作用 而此代码不