orderbyとMap with one-to-manyでの確認

指定はアノテーションのみで簡単。

@OneToMany(targetEntity=Employee.class, mappedBy="department")
@OrderBy("name DESC")
private List enployees;

↑ちなみに大文字(DESC)じゃないとソートされなかった。SpecにはASC,DESCで表記されているから、きっとそうなんだろうな。特に大文字、小文字という表現は無かった。

@OneToMany(targetEntity=Employee.class, mappedBy="department")
@MapKey(name="name")
private Map enployeesMap;

↑Mapで持つ場合は、nameで指定した属性をkeyにしてvalueにオブジェクトを保持するようになる。アノテーションは本当に楽。仮に自この上記のケースはエンティティPOJOクラスを自動生成したとしても、アプリの要件によって、Map/OrderBy指定したほうがいいか変わってくるから、内部設計のときに実装者が判断して適宜、記述することになるのかな?いずれにしてもコードにそんな差はできないし、Error-proneでもないし。ま、今はいっか。