Приложение Hibernate / Spring - экспорт в CSV - PullRequest
2 голосов
/ 22 января 2009

Я пишу веб-приложение с использованием Spring / Hibernate, которое отображает отчет для пользователя, я хотел бы позволить пользователю экспортировать результаты в файл CSV.

Может кто-нибудь предложить эффективный способ вывода результатов запроса Hibernate в файл CSV?

Спасибо!

Ответы [ 5 ]

2 голосов
/ 22 января 2009

Hibernate для объектно-реляционного отображения. Если у вас нет объектов на другом конце, какой смысл?

Spring не запрещает смешивать и сопоставлять JDBC и Hibernate. Используйте лучший подход для решения проблемы. Прямой JDBC звучит лучше всего в вашем случае.

Также обратите внимание на SpringJ AbstractcelExView, если это веб-приложение. Возможно, вы можете написать прямой DAO для получения данных, отправить их обратно в контроллер и сделать так, чтобы JExcelView возвращался в браузер. Пользователь увидит данные в виде электронной таблицы Excel в браузере. У них будет возможность сохранить его как файл .csv из браузера. Красиво и чисто.

1 голос
/ 22 января 2009

Если вы используете Hibernate, результатом вашего запроса будет список объектов, я перебрал бы этот список и напечатал бы эти объекты как csv в StringBuffer, используя класс Utility.

Наличие Hibernate для создания (большого?) Списка объектов и их зависимостей только для сериализации их в строковые данные сразу после создания экземпляра, конечно, не очень эффективно с точки зрения тактов и оперативной памяти, однако это может быть точка зрения разработчиков Если вас беспокоит ваш процессор и оперативная память, я бы предложил выполнить простой SQL-запрос JDBC и обработать его непосредственно в csv.

0 голосов
/ 06 апреля 2015

Я экспортировал свой набор результатов hql (я использую Hibernate with struts2) в csv с помощью FileWriter, который также может быть полезен для вас. Я сохранил набор результатов hql в List (приведенный к MYPojo) и, используя цикл for, записал данные в файл и экспортировал их как csv. Это прекрасно работает для моего приложения. Вы можете посетить http://www.mkyong.com/java/how-to-export-data-to-csv-file-java/

0 голосов
/ 21 июля 2014

Попробуйте использовать HibernateTools Query Exporter http://docs.jboss.org/tools/4.1.0.Final/en/hibernatetools/html_single/#d0e5010

0 голосов
/ 22 января 2009

Я полагаю, что Hibernate используется здесь как часть более крупного приложения, и одна часть этого экспортирует что-то в CSV. Возможно, неуместно использовать JDBC для этой части, пока Hibernate используется в приложении.

Если мое предположение неверно, то JDBC является правильным выбором, в противном случае вы можете перебирать коллекции Hibernate для создания своего CSV.

Иногда в построении CSV есть несколько раздражителей, таких как двойные кавычки в значении столбца и другие подобные вещи. Вот хорошая библиотека, которая может вам помочь:

http://ostermiller.org/utils/download.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...