У меня есть объект гибернации с составным ключом, как в примере ниже.
class A{
B id; //this is the composite key for this class
int property1;
int property2;
int property3;
//getters and setters
}
class B{
String prop1;
String prop2;
String prop3;
}
В приведенном выше примере объект A имеет B в качестве составного ключа. Теперь я написал приведенные ниже критерии, чтобы получить объект A, передав составной ключ критерию. Пример кода ниже.
B id=new B("Prop1Val","Prop2Val","Prop3Val");
(A) sessionFactory.getCurrentSession().get(A.class,id)
Мои вопросы:
- Я предполагаю, что приведенный выше код делает поиск с учетом регистра. Если я прав, как я могу сделать поиск без учета регистра?
Правильно ли создать критерии, как показано ниже, для решения проблемы?
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(A.class); criteria.add(Restrictions.eq("id.prop1",id.getProp1()).ignoreCase()); criteria.add(Restrictions.eq("id.prop2",id.getProp2()).ignoreCase()); criteria.add(Restrictions.eq("id.prop3",id.getProp3()).ignoreCase());
Есть ли простой способ настроить файл hbm для использования по умолчанию без учета регистра?