みんな。
現在使用しているホスト (GlassFish 4、JEE 7、および JPA 2.1) のために、最近 Hibernate から EclipseLink に変更する必要がありましたが、PrimeFaces データテーブルのレコードを削除および更新するときにいくつかの問題が発生しています。
データテーブル内の削除リンクのある列:
<p:column>
<f:facet name="header">Deleta</f:facet>
<h:form>
<h:commandLink action="#{grupoMB.deletaPorNome(grupo.nome)}">excluir</h:commandLink>
</h:form>
</p:column>
メソッド deletaPorNome(String nome) -- deletaPorNome = "removeByName":
public void deletaPorNome(String nome) {
this.grupoRepositorio.excluiPorNome(nome);
this.grupos = null;
}
GrupoRepositorio は、CRUD 操作を使用したステートレス セッション Bean です。
public void excluiPorNome(String nome) {
this.manager.getTransaction().begin();
Query q = this.manager
.createQuery("SELECT x FROM Grupo x WHERE x.nome = :nome");
q.setParameter("nome", nome);
Grupo grupo = (Grupo) q.getSingleResult();
this.manager.remove(grupo);
this.manager.getTransaction().commit();
this.manager.close();
}
このメソッドで何を使用しても: TypedQuery、ネイティブ クエリ、DatabaseSession deleteObject など。何も機能していません。どうしたの?