J'ai une classe d'entité Document et une autre appelée Espace. La relation:Objets persistants JPA sans appel persistant
@ManyToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST,
CascadeType.MERGE, CascadeType.REFRESH}, optional = true)
@ForeignKey(name = "FK_TO_SPACE__DOCUMENT")
@IndexedEmbedded(prefix = DocumentDefaultFields.SPACE_TO_PREFIX)
private Space toSpace;
Eh bien, j'interroge la base de données et prend quelques docs dans une LinkedList.
Cette liste est binded à un dataTable où je peux faire des opérations de mise à jour comme:
<a:commandLink value="move" action="#{moveDocsOperation.moveDocumentToNewSpace(entity)}" reRender="confim,origTable,newTable"/>
et la méthode:
public void moveDocumentToNewSpace(final Document document) {
log.info("~~move document #0 from space #1 to space #2", document.getDocumentId(), origSpace.getPath(), newSpace.getPath());
document.setToSpace(newSpace);
origSpaceDocuments.remove(document);
newSpaceDocuments.add(document);
entityAuditer.auditBean(document, Crud.UPDATE);
}
Je ne comprends pas pourquoi, lors du réglage du VersEspace de l'entité de document, la mise à jour est également faite dans DB sans réellement faire PERSIST ....
savez-vous POURQUOI?
Merci beaucoup. Cela signifie donc implicitement que FlushMode est AUTO? –
oui, c'est AUTO .. – Bozho