2010-08-04 53 views
0
public void uploadFile(ActionEvent evt)throws Exception{ 
InputFile inputFile=(InputFile)evt.getSource(); 
    byteArrayOutputStream=new ByteArrayOutputStream(); 
    ObjectOutputStream objectOutputStream=new ObjectOutputStream(byteArrayOutputStream); 
    objectOutputStream.writeObject(inputFile.getFile()); 

    reportTemplate.setTemplatePath(inputFile.getFilename()); 
reportTemplate.setTemplateData(Hibernate.createBlob(byteArrayOutputStream.toByteArray())); 
     this.reportTemplate= reportFacadeLocal.createReportTemplate(reportTemplate); 

} 我使用EJB 3.0並使用EntityManager類的persist方法在數據庫中創建條目。 如果我只是解釋代碼比reportTemplate是實體bean實例,實體bean的templateData字段的類型爲blob.Code描述上述工作正常,並在數據庫中創建條目。實體管理器合併方法更新blob字段

更新記錄時發生問題除blob字段以外的所有字段都會更新。我使用EntityManager合併方法來更新記錄。

回答

1

嘗試使用entityManager.createNativequery(SomeQuery)或使用entityManager.createNamedQuery(SomeQuery),而不是直接使用entityManager.merge(Object)方法來更新。