Общий список гибернации и выход данных

Я искал это, и я не могу найти ответ. Я думаю, что упускаю что-то очевидное, или я не понимаю 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));
Другие вопросы по тегам