Общий список гибернации и выход данных
Я искал это, и я не могу найти ответ. Я думаю, что упускаю что-то очевидное, или я не понимаю Hibernate так, как я думал. У меня есть проект, который может получить доступ к более чем 100 таблицам, и поэтому я пытаюсь реализовать общий DAO, который может прочитать любую из этих таблиц и вывести результат в таблицу Excel. Ниже приведен фрагмент кода, который я использую.
SQLQuery query = session.createSQLQuery("SELECT * FROM " + tables + " WHERE " + conditions );
List<Object[]> ob = query.list();
for(Object[] obj : ob ){
for(int x=0; x<obj.length; x++)
System.out.println("Col: " + obj[x].toString());}
Однако, когда я распечатываю объекты, все, что я получаю, это первый символ в таблице.
Col1 Col2 Col3
1 8 8
Когда фактические значения:
Col1 Col2 Col3
135 800 867
Я сделал что-то не так или я совершенно не понимаю, как работает Hibernate.
Заранее спасибо.
JF
Редактировать Код, который я использовал для вывода объекта, был добавлен, а также результаты и фактические данные таблицы.
2 ответа
Итак, я нашел проблему.
https://hibernate.atlassian.net/browse/HHH-2304
Резюмирует это и здесь:
Собственный запрос Hibernate - столбец char(3)
показывает решение.
Для тех, кто хочет резюме:
У Hibernate есть проблемы при возврате типа char(>1), и поэтому вам нужно добавить Scalar или привести ваши возвращаемые значения, чтобы получить полное значение.
Попробуйте напечатать это с:
for(Object[] obj : ob ){
System.out.println("Row: " + Arrays.toString(obj));