
本文介绍了如何在Criteria Query中使用MAP的键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
类TestA
{
Map< String,TestB> testBMap;
}
类TestB
{
字符串数据;
...
}
我想获取 TestA
数据以及映射 testBMap
其中 key ='test1'
。
我如何使用Hibernate来做到这一点。
是TestB的一个持久字段的值(让我们说这个字段的名字是foo),所以这段代码应该可以工作:
Criteria criteria = session.createCriteria(TestA.class,a);
criteria.createAlias(a.testBMap,b);
criteria.add(Restrictions.eq(b.foo,test1));
criteria.setFetchMode(a.testBMap,FetchMode.JOIN);
return criteria.list();
I have a Bean like this
Class TestA
{
Map<String,TestB> testBMap;
}
Class TestB
{
String data;
...
}
I want to fetch the TestA
data along with the map testBMap
where key ='test1'
.
How can i do this using Hibernate.
解决方案
The key must be the value of one of the persistent fields of TestB (let's says this field is names "foo"), so this code should work :
Criteria criteria = session.createCriteria(TestA.class, "a");
criteria.createAlias("a.testBMap", "b");
criteria.add(Restrictions.eq("b.foo", "test1"));
criteria.setFetchMode("a.testBMap", FetchMode.JOIN);
return criteria.list();
这篇关于如何在Criteria Query中使用MAP的键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!