Cayenneはすごーく気に入っているんだけど、リレーション関係のプロパティ名の付け方がイマイチ気に入らない。
- Child→Parent : getToParent()
- Parent→Children : getChildArray()
どうにかできないのかなぁ、と思ってソース読んでたら、NamedObjectFactoryというクラスでネーミングルールを決めているよう。
/** * Returns generated name for the ObjRelationships. * For to-one case and entity name "xxxx" it generates name "toXxxx". * For to-many case and entity name "Xxxx" it generates name "xxxxArray". */ protected String nameBase() { if (target == null) { return "untitledRel"; } String name = target.getName(); return (toMany) ? Character.toLowerCase(name.charAt(0)) + name.substring(1) + "Array" : "to" + Character.toUpperCase(name.charAt(0)) + name.substring(1); }
拡張できない感じだし、コード修正して、ビルドしなおすかなぁ…。