0
我需要在liferay portlet項目中插入和更新blob數據。我正在使用liferay-6.1.2-ce-ga3進行開發。 我service.xml中有以下BLOB字段Blob數據更新在liferay-6.1.2-ce-ga3中與jboss捆綁失敗
<column name="applicationData" type="Blob" db-name="application_data" />
服務構建之後我一直在使用服務構建器生成的類成功插入BLOB數據。
myEntity.setApplicationData(blobdata);
myEntityLocalServiceUtil.addMyEntity(myEntity);
我試過如下
myEntity.setCachedModel(false);
myEntity.setApplicationData(blobdata);
myEntityLocalServiceUtil.updateMyEntity(myEntity,false);
但除了BLOB數據一切都得到了更新,更新blob數據。當我檢查了BatchSessionImpl源,我注意到,有像session.saveOrUpdate(模型)在它的update方法調用通常通過跳過session.merge(模型)確實斑點更新不需要任何方法。
下面是BatchSessionImpl類
public void update(Session session, BaseModel<?> model, boolean merge)
throws ORMException {
if (merge || model.isCachedModel()) {
session.merge(model);
}
else {
if (model.isNew()) {
session.save(model);
model.setNew(false);
}
else {
session.merge(model);
}
}
if (!isEnabled()) {
session.flush();
return;
}
if ((PropsValues.HIBERNATE_JDBC_BATCH_SIZE == 0) ||
((_counter.get() % PropsValues.HIBERNATE_JDBC_BATCH_SIZE) == 0)) {
session.flush();
}
_counter.set(_counter.get() + 1);
}
在其他情況下,更新方法在我的情況session.merge(模型)是越來越調用。 liferay-6.1.2-ce-ga3與jboss捆綁在一起是否有特定的事情,以便我們可以更新blob數據?有人可以建議我一些解決方法。?