有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java“sort”属性做什么?

下面是名为m1的类的hibernate映射文件的片段

<class name="pojo.m1" table="m1">

  <id name="r_no">
      <generator class="increment" />
  </id>

  <property name="s_name" />

  <map name="map" table="m4" cascade="all" sort="pojo.m4">
      <key column="r_no" />
      <index-many-to-many class="pojo.m2" column="t1" /> <!-- r_no as index !-->
      <many-to-many class="pojo.m3" column="t2" /> <!-- r_no + total OR class m3 as key !-->
  </map>

</class>

map标记中,有一个名为sort的属性。它有什么作用?在这里,它命名了实现comparator类的类

public class m4 implements Comparator<m2> {

    @Override
    public int compare(m2 o1, m2 o2) {
        if(o1.getR_no() > o2.getR_no()) 
            return 1;
        else 
            return -1;
    }  
}

共 (1) 个答案

  1. # 1 楼答案

    official documentation开始:

    sort (optional): specifies a sorted collection with natural sort order or a given comparator class.
    

    它指定对映射的集合进行排序,以及按照什么标准对其进行排序。在您的例子中,给出了一个比较器,它定义了两个对象的顺序,因此迭代地定义了所有对象的顺序