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字段之外的所有字段时出现问题。我使用EntityManager合并方法来更新记录。
答案 0 :(得分:1)
尝试使用entityManager.createNativequery(SomeQuery)或使用entityManager.createNamedQuery(SomeQuery),而不是直接使用entityManager.merge(Object)方法进行更新。