eclipselink @orderby Сравнимо - PullRequest
       5

eclipselink @orderby Сравнимо

1 голос
/ 19 октября 2011

позвольте быть следующими объектами:

@Entity
public class Person {
    @Id
    long id;

    @ManyToOne
    Family fam;

    @ManyToOne
    Job job;
 }

@Entity
class Family{
    @Id
    long id;

    @OneToMany(mappedBy="fam")
    @OrderBy("job")
    List<Person> p;
}


@Entity
class Job implements Comparable<Job>{
    @Id
    long id;

    String descr;

    public int compareTo(Job o) {
        return descr.compareTo(o.descr);
    }
}

проблема, с которой я сталкиваюсь, связана с аннотацией @orderby, которая, как я и ожидал, не поддерживает сопоставимые объекты.*

Я использую eclipselink 2.3 и задаюсь вопросом, есть ли еще какие-либо средства, которые занимаются этой проблемой.

С наилучшими пожеланиямиGeorge

1 Ответ

4 голосов
/ 19 октября 2011

@OrderBy используется для сортировки сущностей с помощью предложения order by в сгенерированных SQL-запросах. Так что, конечно, это не метод сравнения. Если вы хотите отсортировать с помощью Java, просто верните отсортированный список в получателе getPersons().

...