Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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 如何根据@manytomy关系的Id对集合进行排序?_Java_Sorting_Spring Data Jpa_Set_Many To Many - Fatal编程技术网

Java 如何根据@manytomy关系的Id对集合进行排序?

Java 如何根据@manytomy关系的Id对集合进行排序?,java,sorting,spring-data-jpa,set,many-to-many,Java,Sorting,Spring Data Jpa,Set,Many To Many,我想在我正在开发的web应用程序中,根据@manytomy关系的Id对集合进行排序,但我不知道如何进行排序。此时,集合将按创建多个关系的顺序显示 课堂特长 @Entity @Data @EqualsAndHashCode(callSuper = true) @NoArgsConstructor public class Especie extends Familia{ @GeneratedValue private Integer diasGerminacionDesde;

我想在我正在开发的web应用程序中,根据@manytomy关系的Id对集合进行排序,但我不知道如何进行排序。此时,集合将按创建多个关系的顺序显示

课堂特长

@Entity
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
public class Especie extends Familia{

    @GeneratedValue
    private Integer diasGerminacionDesde;
    private Integer diasGerminacionHasta;

    @ManyToOne
    private Familia familia;

    @JoinTable(
        name = "especie_mesesSiembra"
        ,joinColumns=@JoinColumn(name="especie_id")
        ,inverseJoinColumns=@JoinColumn(name="mesSiembra_id")
    )

    @ManyToMany
    private Set<MesSiembra> mesesSiembra;
}
public List<Especie> listarTodos() {
    Sort orden = Sort.by(Sort.Direction.ASC, "nombre");
    return repositorio.findAll(orden);
}
@实体
@资料
@EqualsAndHashCode(callSuper=true)
@诺尔格构装师
公共阶级的特殊性扩展了家庭{
@生成值
私有整数分离;
私有整数离散化;
@许多酮
私人家庭;
@可接合(
name=“特别的”
,joinColumns=@JoinColumn(name=“specie_id”)
,inverseJoinColumns=@JoinColumn(name=“mesienbra\u id”)
)
@许多
私人设置Mesessimbra;
}
类特殊控制器(控制器)

@GetMapping
公共列表listarTodos(){
return servicio.listarTodos();
}
班级特别服务(服务)

public List listarTodos(){
Sort orden=Sort.by(Sort.Direction.ASC,“nombre”);
返回回购findAll(orden);
}

您可以使用LinkedHashSet+JPA注释@OrderBy

@OrderBy
private Set<MesSiembra> mesesSiembra = new LinkedHashSet<>();
@OrderBy
私有集mesessimbra=新LinkedHashSet();
我已经替换了这个:

@ManyToMany
private Set<MesSiembra> mesesSiembra;
@manytomy
私人设置Mesessimbra;
为此:

@OrderBy("mesSiembra_id")
private Set<MesSiembra> mesesSiembra = new LinkedHashSet<>();
@OrderBy(“mesSiembra_id”)
私有集mesessimbra=新LinkedHashSet();
在Spring引导控制台中,我得到以下错误:

org.springframework.beans.factory.BeanCreationException:创建名为“SpecifierEPositorio”的bean时出错,该名称在ar.com.mibancosemillas.bancosemilasWeb.persistencia.SpecifierEPositorio中定义,该名称在JpaRepositoriesRegistrar.EnableJpaRepositories配置中声明@EnableJpaRepositories中定义:无法解析对bean的引用设置bean属性“mappingContext”时使用“jpaMappingContext”;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“jpaMappingContext”的bean时出错:调用init方法失败;嵌套异常为javax.persistence.PersistenceException:[PersistenceUnit:default]无法构建Hibernate SessionFactory;嵌套异常为org.hibernate.MappingException:无法确定列:[org.hibernate.mapping.Column(meses_siembra)]的表:familia中的java.util.Set的类型


如果我按以下方式放置代码,则会出现映射错误<代码>@ManyToMany@OrderBy(“mesSiembra_id”)私有集mesSiembra=new LinkedHashSet()实际上你可以用@OrderBy替换@OrderBy(“mesienbra\u id”)。错误是什么?在这里,它只对@OrderBy起作用,没有在括号中添加任何内容。非常感谢。太好了,我更新了我的答案,你可以接受。谢谢
@OrderBy("mesSiembra_id")
private Set<MesSiembra> mesesSiembra = new LinkedHashSet<>();