在编辑屏幕中,我使用p:ajax
在自动填充字段中抓取所选值并填写表单中的其他字段。但是当ajax运行时,它正在更新数据库表中的信息(更新)。如何阻止此行为?毕竟我只应该在单击保存按钮时执行此操作。
代码:
<h:panelGroup>
<p:autoComplete id="demandaBeanDemandaLogradouroNome" value="#{demandaBean.demanda.logradouro}"
var="_item" minQueryLength="3" maxResults="15" required="true"
itemLabel="#{_item.nome}" itemValue="#{_item}" converter="#{logradouroBean.converter}"
completeMethod="#{logradouroBean.buscaLogradouro}" title="Busca pelo Logradouro">
<p:column>
<h:outputText value="#{_item.categoria.descricao}"/>
</p:column>
<p:column>
<h:outputText value="#{_item.nome}"/>
</p:column>
<p:ajax partialSubmit="true" immediate="true" event="itemSelect" update="demandaBeanDemandaBairro demandaBeanDemandaCruzamento"
listener="#{logradouroBean.buscaComplementoSelectEvent}"/>
</p:autoComplete>
<p:message for="demandaBeanDemandaLogradouroNome" styleClass="error"/>
</h:panelGroup>
答案 0 :(得分:0)
我发现发生的事情是Hibernate同步持久对象,如果你更改它,它会自动更新数据库。为了解决这个问题,我使用了带有@Transient标记的辅助对象。感谢。