我有三个实体,例如注册,用户和国家。基本上,注册属于用户,而用户属于国家。现在,我正在尝试通过以下方式从注册中选择国家/地区名称
Criteria criteria = getSession().createCriteria(Registration.class);
ProjectionList projectionList = Projections.projectionList();
criteria.createAlias("user.country", "usercountry");
projectionList.add(Projections.property("usercountry.name"),"usercountry.name");
criteria.setProjection(projectionList);
criteria.list();
这失败了,给我:
ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Unknown column 'usercountr1_.name' in 'field list'
org.hibernate.exception.SQLGrammarException: Unknown column 'usercountr1_.name' in 'field list'
生成的hibernate查询:
Hibernate: select usercountr1_.name as y0_ from voucherList this_
我注意到在sql中没有联接。这就是为什么查询失败?我怎样才能解决这个问题 ?
尝试像
Criteria criteria = getSession().createCriteria(Registration.class);
ProjectionList projectionList = Projections.projectionList();
criteria.createAlias("user", "u"); // here i changed
criteria.createAlias("u.country", "usercountry"); // here i have changed
projectionList.add(Projections.property("usercountry.name"),"usercountry.name");
criteria.setProjection(projectionList);
criteria.list();
问题内容: 我试图找出是否可以使用Hibernate Criteria API进行以下HQL: 其中InitialCount是一个非常简单的,具有字符串和长构造函数的bean: 可能吗? 问题答案: 试试这个 : 其中,公式属性是映射到公式“ substring(name,1,1)”的人员的属性
问题内容: 是否可以使用hibernatecritiria api创建“选择输入”查询? 示例:我有两个1:n关系中的表,公司和部门 问题答案: 您可以使用此DetachedCriteria
问题内容: 我正在尝试做这样的事情,但使用代替: 用户是与联接表UserDomain 有关系的实体。这里的重点只是找到链接到具有id =“ XXX”的用户。 似乎应该很简单…但是到目前为止我还没有运气找到任何有用的文档。 问题答案: 我终于找到了。事实证明,这毕竟并不难……一旦您知道! 是的,有人盯着我看Javadoc:http : //www.dil.univ- mrs.fr/~massat/d
问题内容: 我在MySQL中使用group_concat编写了一个查询,例如 并给出我的预期结果。 现在,我想使用休眠条件编写相同的查询。 问题答案: 简单的答案是 否定的 为什么? Hibernate仅支持在多个数据库中使用的通用功能/语法。Microsoft SQL Server中没有任何功能,也可能在其他数据库中。 解决方案: 您必须将其作为简单SQL查询执行。
问题内容: 我在映射类的嵌入式属性时遇到麻烦。我创建了一些类,这些类与我试图说明的类相似。基本上,我有一个使用继承的@Embeddable类层次结构。顶级类“零件号”仅具有一个属性,扩展类未向“零件号”类添加任何属性,它们仅添加了一些验证/逻辑。 这是我的意思: 部分 零件号 福特PARTNUMBER 高贵的零件编号 当然这是行不通的,因为Hibernate忽略了继承层次结构,并且不喜欢PartN
问题内容: 我有一个Spring和Hibernate3在生产中运行良好的应用程序。以下是Spring的applicationContext.xml中会话工厂的配置 生产正常。 现在,对于另一个项目,我们正在迁移到Hibernate4。我们使用org.springframework.orm.hibernate4。*包中的Hibernate 4的SessionFactory,TransacionMan