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でもないし。ま、今はいっか。