Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot 2@OrderBy被忽略_Java_Spring_Hibernate_Spring Boot - Fatal编程技术网

Java Spring Boot 2@OrderBy被忽略

Java Spring Boot 2@OrderBy被忽略,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我有两个实体: public class Field { private String inputType; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "field") @OrderBy("order_by") private List<SelectItem> selectItems; } publ

我有两个实体:

public class Field {
    private String inputType;

    @OneToMany(cascade = CascadeType.ALL,
            fetch = FetchType.LAZY,
            mappedBy = "field")
    @OrderBy("order_by")
    private List<SelectItem> selectItems;
}

public class SelectItem {
    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JoinColumn(name = "field_id", nullable = false)
    @OnDelete(action = OnDeleteAction.CASCADE)
    private Field field;

    private int orderBy;
}
日志中没有后续的select语句可以提取嵌套的
SelectItem
实例,但是当我取回对象时,它们就在那里了

因此,不知何故,它们被选中了,但hibernate似乎没有这样做,选择它们的任何东西都忽略了
@OrderBy
注释


有人能解释一下发生了什么事吗

缺少特定的
订单类型ASC或DESC
,直接通过字段名调用

@OrderBy("orderBy ASC")

那不行。将忽略整个批注。我只是尝试了你的建议(没有区别),然后尝试了@OrderBy(“orderxxby ASC”),它甚至不是对象的属性。没有变化,就没有错误;该对象与所有子对象一起返回,但它们的顺序不正确。那么您可以使用
@OrderColumn(name=“order\u by”)
@ukalumniTried,并至少给出了一个有趣的异常:由:org.hibernate.DuplicateMappingException引起:表[select\u items]包含物理列名[order\u by]由多个物理列名引用:[order\u by],[orderBy]我通过在SelectItem.java中的orderBy属性上方添加@column(name=“order\u by”)解决了这个问题,但最终结果是相同的:代码可以工作,但SelectItems不按orderBy排序,select语句永远不会显示在日志中。
@OrderBy("orderBy ASC")