当前位置: 首页 > 面试题库 >

关联hibernate

蒋文光
2023-03-14
问题内容

我正在使用Hibernate3.2,并使用条件来构建查询。我想为多对一关联添加和“排序依据”,但我不知道该怎么做。我猜,Hibernate查询最终看起来像这样:

select t1.a, t1.b, t1.c, t2.dd, t2.ee
from t1
inner join t2 on t1.a = t2.aa
order by t2.dd   <-- need to add this

我已经尝试过criteria.addOrder(“assnName.propertyName”),但是它不起作用。我知道可以为常规属性完成此操作。我想念什么吗?


问题答案:

好的,找到答案了。我尝试了一些我认为不可行的方法,但令我惊讶的是。我正在尝试这个:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class);

criteria.addOrder(Order.asc("assnName.propertyName"))

但是实际起作用的是:

Criteria criteria = super.getSession().createCriteria(WipDiscreteJob.class);
Criteria assnCrit = criteria.createCriteria("assnName");

assnCrit.addOrder(Order.asc("propertyName"));

我假设addOrder()方法仅可用于主要条件,而不能用于任何关联条件。



 类似资料:
  • 使用“关联类型”可以增强代码的可读性,其方式是移动内部类型到一个 trait 作为output(输出)类型。这个 trait 的定义的语法如下: // `A` 和 `B` 在 trait 里面通过`type` 关键字来定义。 // (注意:此处的 `type` 不同于用作别名时的 `type`)。 trait Contains { type A; type B; // 通常

  • 与Spark类似,Spark Streaming也可以利用maven仓库。编写你自己的Spark Streaming程序,你需要引入下面的依赖到你的SBT或者Maven项目中 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.10</artifactId> <vers

  • 简介 数据库表通常相互关联。 例如,一篇博客文章可能有许多评论,或者一个订单对应一个下单用户。Eloquent 让这些关联的管理和使用变得简单,并支持多种类型的关联: 一对一 一对多 多对多 远程一对多 多态关联 多对多多态关联 定义关联 Eloquent 关联在 Eloquent 模型类中以方法的形式呈现。如同 Eloquent 模型本身,关联也可以作为强大的 查询语句构造器 使用,提供了强大的

  • 为了排错的需要,在MainSetup中获取CacheManager CacheManager cacheManager = ioc.get(CacheManager.class); log.debug("Ehcache CacheManager = " + cacheManager); 事实上现在就能启动项目看看日志(如果你比较着急的话), 类似于: 2015-0

  • 通过使用 createCriteria() 对关联进行导航,你可以指定相关实体的约束。 List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "F%") ) .createCriteria("kittens") .add( Restrictions.like("name"

  • 本节介绍 sequelize 中的各种关联类型. Sequelize 中有四种类型的关联 BelongsTo HasOne HasMany BelongsToMany 基本概念 来源(Source) & 目标(Target) 让我们首先介绍一个基本概念,你将在大多数关联中使用,来源(Source) 和 目标(Target) 模型. 假设你正在尝试在两个模型之间添加关联. 这里我们在 User 和