継承について
今、Domaを使って色々アプリケーションを作っています。
そのアプリケーションでBEANとか定義して、また別のアプリケーションで使用することを考えています。
まぁその方式で進めてきたのですが、ちょっと問題が発生してDomaのエンティティは継承はサポートしているのですが、親クラスに@Entityがある場合のみ仕様がありました。
しまった、しっかり見過ごしていた・・・。
/** * このクラスを外部にあげる */ public class Hoge { public String name; } /** * Domaで処理させたいクラスのみ、継承して操作する */ @Entity public class HogeEntity extends Hoge { }
という形を想定していたのが、これは実現できない。
外部のアプリではBEANは使ってもDomaは使わないので、共通使用の親クラスに@Entityをつけてしまうと、Domaのライブラリはないのでコンパイルできない。
ん〜、こりゃうっかりだ。
二重管理になるけど、HogeEntityのHogeとの親子関係をなくしてHogeのフィールドを、HogeEntityに持たせて取り急ぎ逃げている感じ。
いや、逃げちゃだめだ。逃げちゃだめだ。逃げちゃだめだ。
でも、解決策が浮かばない。鋭意、模索中。