Tag: hibernate

将SXSSFWorkbook保存为blob的最佳方法是什么?

我正在使用Apache POI SXSSFWorkbook生成一个.xlsx excel电子表格,但不是下载它,我需要将该文件保存到一个blob。 我也需要这个能够扩展,所以如果我有60万以上的logging放入文件,我需要避免内存不足的错误。 这是代码 SXSSFWorkbook workbook = new SXSSFWorkbook(100); addContent(); 通常当输出到一个文件,我做类似的东西 OutputStream output = response.getOutputStream(); workbook.write(output); 但在这种情况下,我不需要它去到一个文件,只是到数据库的blob,除了没有办法将SXSSFWorkbook保存到一个blob。 我可以将工作簿保存到OutputStream中,并尝试将其保存到Blob中,但通常需要使用inputStream。 是否有一个实用程序将outputStream转换为inputStream?

我想读取一个excel文件,并将数据上传到PostgresDB的表中。 但是我在尝试保存在数据库时出错

模型类 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="employee_details") public class Employee { @Id @Column(name="emp_id") private int id; @Column(name="emp_name") private String name; @Column(name="location") private String location; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLocation() { return location; } public int getId() { […]

Java / Hibernate的 – MySQLIntegrityConstraintViolationException:重复键'PRIMARY'

我正在研究一个程序,该程序读取XLS文件的指定列,并将此数据保存到MySQL数据库(InnoDB引擎,utf8默认sorting规则)。 我实现了一个函数来检查文件是否已经改变,如果是这样的话,程序应该只把差异写到数据库中。 我正在使用Hibernate(使用函数session.saveOrUpdate() )进行映射,并使用Apache POI进行文件处理。 我第一次运行这个程序对一个空的数据库,到目前为止一切运行良好。 问题:我得到MySQLIntegrityConstraintViolationException: Duplicate entry '2014-09-10 16:09:28' for key 'PRIMARY'时,有条目已经存在于数据库中(当我尝试提供完全相同的XLS文件的程序就像以前运行一样,这在逻辑上意味着它不应该更新或保存任何东西)。 为了确定来自数据库的数据和来自XLS文件的数据是否相等,我使用下面的代码,它将数据库中的所有条目提取到我的域对象列表(列表列表)中,并对列表进行sorting和比较我从XLS文件中获得的域对象: public void retrieveFromDB() { try { DatabaseManager _dbManager = new DatabaseManager(SessionFactoryUtil.SYSTEM_ID_PARAMETER); _dbManager.beginTransaction(); setBackupValuesList(_dbManager.getDomainObject()); System.out.println("SIZE OF LIST 1: " + getBackupValuesList().size()); _dbManager.commitTransaction(); _dbManager.endTransaction(); log.info("RETRIEVED DATA FROM DATABASE!"); } catch (Exception e) { log.fatal("UNABLE TO OPEN DB CONNECTION OR COMMITING TRANSACTION!"); e.printStackTrace(); […]

在Java中使用Hibernate插入70000logging上的网关超时错误

我的问题是: 从Excel中上传10000logging到我的数据库。 Excel表单有10000行和70到100列。 我们使用Hibernate级联将值存储在6映射表中。 我使用ajax方法调用该方法。 由于插入大量的数据。 它返回超时错误(502(代理错误)或504(网关错误))。 我正在使用AWS服务。 是任何configuration错误..请帮助 提前致谢

Java.lang错误?

伙计们我想读取一个Excel文件,并将信息保存到数据库在spring的应用程序,但我面临着这个错误。 下面是我的工作! (我没有分享我的控制器等,我只是需要保存他们的数据库后,我会spring工作。 主要的春季应用 package com.javainuse; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.AnnotationConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootHelloWorldApplication { public static void main(String[] args) throws IOException { System.out.println("Debug Print"); Read(); SpringApplication.run(SpringBootHelloWorldApplication.class, args); } private static void Read() […]

使用spring hibernate将mysql表导出为ex​​cel

我试图导出数据在MySQL表中使用春季hibernateExcel。 我的excel导出后没有数据。 您的帮助将不胜感激。 这是我的代码below.Thanks提前 ExcelExport.java @Override protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { @SuppressWarnings("unchecked") List<MOH> mohs = (List<MOH>) model.get("mohs"); HSSFSheet sheet = workbook.createSheet("MOH Form") HSSFRow header = sheet.createRow(0); header.createCell(0).setCellValue("ID"); header.getCell(0).setCellStyle(style); header.createCell(1).setCellValue("Data"); header.getCell(1).setCellStyle(style); int rowCount = 1; for (MOH aBook : mohs) { HSSFRow aRow = sheet.createRow(rowCount++); aRow.createCell(0).setCellValue(aBook.getSurvey_id()); aRow.createCell(1).setCellValue(aBook.getName()); […]

用于Java包的jar工具org.apache.poi.hssf.usermodel。*

我正在使用Spring / Hibernate(使用NetBeans 6.9.1)。 我需要将Excel工作表导入Oracle数据库(10g)。 我曾经访问过一些文章和教程,其中我find了相应的代码,但是包含此function所需的Java包org.apache.poi.hssf.usermodel.*的Jar实用程序尚未在互联网上find的这些教程中提到的任何一个。 所以只有一个问题 从哪里可以下载这个包含这个包org.apache.poi.hssf.usermodel.* jar工具? 这个包包含了Java类 org.apache.poi.hssf.usermodel.HSSFSheet; org.apache.poi.hssf.usermodel.HSSFWorkbook; org.apache.poi.hssf.usermodel.HSSFRow; org.apache.poi.hssf.usermodel.HSSFCell;

未保存的瞬态实例hibernate

虽然有几个问题与这个例外相关,但是这不是一个可能的重复。 使用APACHE POI遍历多个Excel表,我必须使用JPA来执行多对一的关系 for (int i = 0; i < wb.getNumberOfSheets(); i++) { HSSFSheet sheet = wb.getSheetAt(i); …. if(i=0) { Baseclass obj = new Baseclass (); obj.setname("name"); session.save(obj) session.getTransaction().commit(); } if(i=3) { Foreigclass obj2 = new Foreigclass (); obj2.setsection("2A"); Baseclass obj = new Baseclass (); –> obj2.setTransport(obj); // linking foreign keys // error comes here […]

在java中的Excel生成问题

我正在尝试使用Apache POI来生成Excel文件。 我的需要是生成120k行和7列的数据。 我可以很容易地生成25000行的Excel文件,但问题是我不能生成100K行的Excel文件。 在运行时代码执行变得缓慢。 为了生成excel文件,系统必须通过for循环(100k行和9列)迭代900k次。 最初在excel对象中添加24行大约需要1秒,然后逐渐降低执行速度。 添加70k行后,需要24..30秒才能添加一行。 为什么发生这种情况? List<String[]> keyList = keyService.findAllKeyByBatchCode(batchCode); int x = 1; if(keyList != null && keyList.size() != 0) { Date activated_Date = null; for (int i = 0; i<keyList.size(); i++) { Object[] keyUser = keyList.get(i); data.put(x, new Object[] { String.valueOf(x), keyForDetails.getLicenceType().getName(), batchCode, keyForDetails.getKeyType(), keyUser[0], "", DateUtility.convertUtilDatetoString(keyForDetails.getDate()), String.valueOf(keyForDetails.getPrice()), keyUser[1] }); […]

我试图从Excel文件中读取后保存在Postgres表中的数据。当试图提交,我得到一个铸造错误

模型类 package test1; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="employee_details") public class Employee { @Id private String emp_id; private String emp_name; private String location; public String getEmp_id() { return emp_id; } public void setEmp_id(String emp_id) { this.emp_id = emp_id; } public String getEmp_name() { return emp_name; } public void setEmp_name(String emp_name) { this.emp_name = […]