jpa - JPQL 查询中的 @OrderColumn

标签 jpa join many-to-many jpql

我有@OrderColumn 的@ManyToMany 映射如下:

class Tag {
    @ManyToMany(fetch = FetchType.LAZY) @Getter
    @JoinTable(
            name = "tag_graph",
            inverseJoinColumns = @JoinColumn(name = "parent_id"))
    private Set<Tag> parents = new TreeSet<>();

    @ManyToMany(fetch = FetchType.LAZY, mappedBy = "parents") @Getter @OrderColumn
    private List<Tag> children = new ArrayList<>();
}

我的问题是我想编写一个 JPQL 查询,该查询将使用生成的 @JoinTable 的 @OrderColumn。就像是:
 SELECT t FROM Tag t WHERE ... ORDER BY t.ORDER_COLUMN

有没有办法做到这一点?

最佳答案

您应该能够在 JPQL 中使用 INDEX 函数。

看,
http://en.wikibooks.org/wiki/Java_Persistence/JPQL#Special_Operators

关于jpa - JPQL 查询中的 @OrderColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428678/

相关文章:

MYSQL多对多3表查询

java - 如何在 JPA 中使用枚举

java - ORM:文章、修订和主要修订

mysql - 仅连接特定行

MySQL - group_concat 拉入额外的错误数据

grails - 如何在多个列上使用唯一约束而不是创建复合键

java - GAE JPA 2.0 Txn快速回滚

java - 列需要由 2 个嵌入式类型共享,但导致 "Repeated column in mapping for entity"

mysql - 连接多个 mysql 表

doctrine - Symfony 1.4 Doctrine - 中间表中带有额外字段的多对多关系