2012-10-24 2 views
1

У меня возникла проблема с проводкой.Hibernate Пример не нашел ни одного экземпляра

Я использую Hibernate для поиска объектов по примеру.

К сожалению, я не могу найти экземпляр, даже если у меня есть около 20000 записей в таблице.

Мой вопрос в том, как отладить эту проблему.

01 Puppy p = new Puppy() 
02 List list = session.createCriteria(Puppy.class).add(Example.create(p)).list(); 
03 System.out.println(list.length()); 

Возвращает 0

EDIT: Я даже установить все п-м и 1-п reations к нуль

+0

btw, что такое Restriontions? –

+0

Ошибочная ошибка идиота под названием «Peter Rader» –

ответ

0

Выполнение запроса по Примеру, что означает, что свойства экземпляра Puppy p сгенерируют соответствующий запрос, так что результирующий набор будет соответствовать этому примеру.

Я подозреваю, что в вашем экземпляре Puppy есть некоторые ненулевые свойства.

Самый простой способ отладки - включить SQL-трассировку в Hibernate, чтобы вы знали, что такое сгенерированный SQL, и, следовательно, знаете, что является критерием запроса, и, следовательно, знаете, какое поле в экземпляре примера вызывает проблема.

+0

У меня есть собственность под названием «char sex», что было написано на консоли. знак cant be null

0

Прежде всего, System.out.println выглядит как C#? Итак, NHibernate?

В моем проекте у меня есть раздел конфигурации, и я могу добавить недвижимость там:

NHibernate.Cfg.Configuration configuration = new NHibernate.Cfg.Configuration(); 

configuration.SetProperty(NHibernate.Cfg.Environment.ShowSql, "true"); 

Надеется, что это помогает в некотором образе.

+0

- это java, sql-output - «выберите *** из ***», где нет. –

+0

Ahh java, я смутил их в своем уме ... 'select *** from ***' Боюсь, я не могу больше помочь. (есть ли действительно тройные звезды, или это просто, чтобы показать их на wiki?) – Markus

+0

не волнуйтесь, приятно попробовать в любом случае. Эти *** просто показывают их на wiki; D –