複数の並べ替えでLazyDataModelを使用すると、NullPointerExceptionが発生します。sortMode = "multiple"を使用している場合、loadメソッドは属性ListmultiSortMetaでnull値を取ります
私のxhtml
<h:panelGroup id="processPanel">
<p:dataTable id="processTable" value="#{hubProcessBean.processModel}"
var="process" paginator="true" paginatorAlwaysVisible="false"
rows="5" lazy="true" sortBy="#{process.transactionId}" sortOrder="ascending" rows="5" lazy="true" sortMode="multiple" resizableColumns="true">
そして私が呼んでいる豆の中で
processModel_ = new TransactionLazyDataModel(criteria);
私のLazyDataModelは
@Override
public List<Transaction> load(int first, int pageSize, List<SortMeta> multiSortMeta, Map<String,String> filters) {
try {
HibernateUtil.beginTransaction();
transactionList = transactionHome.loadByCriterion(criterias_,first, pageSize, multiSortMeta);
for (Transaction tr : transactionList) {
Hibernate.initialize(tr.getAgency());
Hibernate.initialize(tr.getClient().getId().getClientName());
Hibernate.initialize(tr.getDecisionrule().getId());
//Hibernate.initialize(tr.getEscalationhistory().getEscalationtype().getEscalationTypeId());
Hibernate.initialize(tr.getUserByBuyer());
//Hibernate.initialize(tr.getDecisionrule().getId());
}
HibernateUtil.commitTransaction();