Hibernate не печатает «выбранные» операторы SQL - PullRequest
1 голос
/ 10 сентября 2011

Ниже приведен простой фрагмент кода вместе с необходимой конфигурацией гибернации.Проблема заключается в том, что все операторы «insert» печатаются, но операторы «select» не печатаются.

Session sess = session.openSession();
Transaction tx = sess.beginTransaction();
Address addr = new Address();
addr.setStreet("street");
Employee pojo = new Employee();
pojo.setName("XYZ");
pojo.setAddress(addr);
System.out.println("ID " + pojo.getId());
sess.saveOrUpdate(pojo);
tx.commit();
session.close()

Приведенный выше код печатает операторы «insert» в стандартном выводе

Session sess = session.openSession();
Transaction tx = sess.beginTransaction();
Employee pojo = (Employee) sess.get(Employee.class, 1);
System.out.println(pojo.getName());
System.out.println(pojo.getAddress().getStreet());
tx.commit();
session.close();

Приведенный выше код не печатает оператор «select».Я попытался использовать load () вместо get (), но результат тот же.

Эта конфигурация доступна в конфигурации гибернации.

<property name="show_sql">true</property>

Заранее спасибо.

1 Ответ

1 голос
/ 10 сентября 2011

Если у вас включен кэш второго уровня, выбор не будет выполнен, и вместо него будет взято значение. Попробуйте прочитать данные, которые уже находятся в БД, а не только что вставленные. Я предполагаю, что вы сначала вставляете, а затем читаете это сразу после.

...