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

如何在两列上指定OrderBy子句

潘慈
2023-03-14
问题内容

我们希望对Seam EntityQuery接口和JPA模型中的2列进行排序。我们如何做到这一点?

@Entity
public class A{

@OrderBy(???) // should this be hardcoded here, is it database agnostic
List<B> bobjects;
}

@Entity
public class B {

   public short startTimeHrs;
   public short startTimeMins;
}

@Name("bList")
public class B extends EntityQuery {
        setOrderColumn("startTimeHrs, startTimeMins"); // Is this correct?
        setOrderDirection("asc");
}

问题答案:

如果您正在谈论javax.persistence.OrderBy,则此注释会将(目标实体的)逗号分隔属性的列表作为参数,并相应地对集合进行排序。例如,您的情况startTimeHrs asc, startTimeMins asc

根据JPA 1.0规范:

9.1.28 OrderBy批注

OrderBy注释指定的集合的元素的顺序在点值的关联时的关联检索。

@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface OrderBy {
String value() default "";
}

值排序元素的语法为orderby_list,如下所示:

orderby_list::= orderby_item [,orderby_item]*
orderby_item::= property_or_field_name [ASC | DESC]

如果未指定ASCDESCASC则假定(升序)。

如果未指定排序元素,则假定按关联实体的主键进行排序。

属性或字段名称必须与关联类的持久属性或字段的名称相对应。排序中使用的属性或字段必须与支持比较运算符的列相对应。



 类似资料:
  • 问题内容: 这让我感到难过,并认为我会向SO社区提出帮助。 用户想要选择所有以特定ID开头的订单,例如: 123 将返回 123 , 12345 , 1238790 等ID然而int列。 我正在使用nHibernate,目前我的行是: 但这只会使我返回123。我可以执行Restrictions.Like,但是它将转换为SQL LIKE子句,并且在int col上不起作用。 有任何想法吗? 编辑:对

  • 问题内容: 我阅读了[如何在QueryParser中合并多个字段?](http://codingdict.com/questions/136407但是我不明白。 目前,我有一个非常奇怪的结构,例如: 我该怎么办? 因此解析器会在“ bodytext”字段和“ title”字段中寻找搜索词。 问题答案: 有3种方法可以做到这一点。 第一种方法是手动构造查询,这是内部的工作。这是执行此操作最强大的方法

  • 我刚用了Fromsqlraw。在Microsoft tutorial enter link description here中,使用FromSqlRaw必须选择所有列(请注意,我还没有看到一些好的例子)。但我想要的是在连接几个表时选择一些特定的列。 首先,我连接了两个表,如下所示(RequestMaterial将Request的键作为外键): 错误消息是“底层阅读器没有预期的那么多字段”。 当我尝

  • 我正在使用在线Swagger编辑器为我的API创建Swagger规范。 我的API有一个GET请求endpoint,我使用以下YAML代码来描述输入参数: 如果我输入标记,我会收到一个错误,说: 不完全是来自 在Swagger中编写GET参数时如何设置示例?

  • 我的数据由各种波动率值组成,即0到1之间的十进制数。现在,只有6%到24%之间的值才是特别相关的,所以我试图构建一个直方图来显示这些值的相对计数。我想要一个包含0-6%、6-8%、…22-24%、, 我已经疯狂地接近能够通过阅读答案来做到这一点,例如垫迹xticks与直方图和垫迹(直方图)中的Bin大小不对齐。 如果有人能帮我解决这个问题,我将不胜感激。谢谢你的帮助。 这几乎生成了正确的直方图,但

  • 我使用在一个Groupby结果上,以便计算每个组中有多少项。 我希望在不手动编辑列名数组的情况下将结果保存到新列名,如何实现? 这就是我尝试过的: 我得到的错误是: TypeError:“DataFrameGroupBy”对象不支持项分配(在第二行)