- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我想搜索那些上“Math”课的学生,“John”是他的组:
我应该使用createCriteria还是createAlias?
Criteria:
Criteria criteria = session.createCriteria(Student.class);
Criteria subquery1 = criteria.createCriteria("courses", course).add(Restrictions.eq(course.name, "Math"));
Criteria subquery2 = criteria.createCriteria("group", student).add(Restrictions.eq(student.name, "John"));
如何将子查询1和子查询2与初始条件放在一起?
Alias:
Criteria criteria = session.createCriteria(Student.class).
createAlias("courses", course).add(Restrictions.eq(course.name, "Math")).
createCriteria("group", student).add(Restrictions.eq(student.name, "John"));
何时使用 createCriteria 以及何时使用 createAlias?我认为船是一样的......
最佳答案
CreateAlias 和 CreateCriteria 在当前版本的 Hibernate 和 NHibernate 中相同。唯一的区别是 CreateCriteria 有 2 个额外的重载,没有别名参数。
想必它们在旧版本中有所不同,但任何差异早已不复存在。
别名可以根据另一个别名来定义,因此您的第一个示例可以写为:
// Java
Criteria criteria = session.createCriteria(Student.class)
.createAlias("courses", "course")
.createAlias("course.group", "student")
.add(Restrictions.eq("course.name", "Math"))
.add(Restrictions.eq("student.name", "John"));
// C#
ICriteria criteria = session.CreateCriteria<Student>()
.CreateAlias("Courses", "course")
.CreateAlias("course.Group", "student")
.Add(Restrictions.Eq("course.Name", "Math"))
.Add(Restrictions.Eq("student.Name", "John"));
关于nhibernate - hibernate - createCriteria 还是 createAlias?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2347359/
我面临这样一种情况,默认情况下默认LEFT join在不需要的条件下加入,并且我想显式定义它,我该怎么做? 例如createAlias('fault.tgmap', 'tg', CriteriaSpe
对于 Grails 项目,我需要它按关联实体的字段进行排序。就像获取按作者姓名排序的条目: def crteria = new DetachedCriteria(Entry) criteria.lis
这个问题似乎出现了一点,但我还没有看到一个好的答案。我有两个类,没有外键,除了公共(public)字段之外没有真正的关系,在本例中为“标题”。 这大致基于我最近从遗留应用程序中提取的示例,我不允许修改
我必须使用 Hibernate 进行特定查询。 以下类(class)只是一个简单的示例,以便您更容易理解我的场景和我的目标。我在写这篇文章时编造了这个例子,我希望我没有犯错误(无论如何不要注意错误:D
我有下表:援助B: id, 文本AB: aID, bID 我想连接 A 和 B,其中 B.text 包含单词“猫”。 这是我执行的 hibernate 查询: Criteria c = session
假设以下场景: class Project{ public Job Job; } class Job{ public Name; } 假设我想使用 Criteria API 来搜索 Job
如果我想搜索那些上“Math”课的学生,“John”是他的组: 我应该使用createCriteria还是createAlias? Criteria: Criteria criteria = sess
我有一个要求,需要将搜索关键字应用于父实体(客户)的名称和状态以及子实体订单的名称属性。 List aliasRestrictionsCriterion = new ArrayList(); Junc
我在这里阅读 hibernate 标准文档: http://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/Criteria.html
我正在尝试对 namedquery 方法进行单元测试,但它不起作用,因为我正在使用 Grails 似乎没有找到的方法 grails.orm.HibernateCriteriaBuilder.creat
我使用 curl 向我的 solr 云服务器提交了请求: curl http://solrserver1:8983/solr/admin/collections?action=CREATEALIAS&
有谁知道 following question 的解决方案是否以及如何解决? (用JPA API写的)可以用hibernate criteria API写吗? 更具体地说,我有一个包含参与者列表(这是
我有两个简单的映射: 和
当创建使用“withClause”的 hibernate 条件查询时,关联始终是惰性的。 Criteria criteria = session.createCriteria(A.class, "a"
我有一个实体汽车,它有一组可为空的小插图,我想获取没有小插图的汽车列表。 我尝试过这个,但我找不到我的方法...... Criteria criteria = getSession().createC
在下面的代码中..有两个 Alias 作为 Entity Object 引用。有时 "caseStage"作为阶段 在数据库中可以是 null。当 "caseStage" 为空时,我希望 stage.
我是一名优秀的程序员,十分优秀!