2012-03-23 20 views
1

私は、オブジェクトの階層を持って定義します。オーバーライド継承されたフィールドは

java.lang.RuntimeException:

class Request { 

    RequestType type 
} 

class CableRequest extends Request { 

    RequestType type = RequestType.Cable 
} 

Hibernateはと文句複製方法:

のgetTypeを

継承されたクラスのデフォルトをプリセットする(またはフィールドをオーバーライドする)正しい方法は何ですか?

更新:プロパティは一時的なものとしてマークされている場合 だから明らかに、これは...これらのゲッターを上書きせずにGroovyの方法を設定する別の方法があります正常に動作しますか?

答えて

0

はこれを試してみてください:

class Request { 

    RequestType type 
} 

class CableRequest extends Request { 

    RequestType getType() { 
     RequestType.Cable 
    } 
} 
+0

おかげドンは、ええ、私はそれもセッターをオーバーライドする敗走行き始めた - と、私は思った - もいただきました!ポイント?オブジェクト階層は私にここで何を買うのですか?親に型フィールドを設定し、新しいインスタンスを作成するときにサービスクラスで適切に設定するだけでは、同じ結果を得られません。サービスクラスを使用してドメインクラスに何が起こるかを管理する場合、単一テーブルクラス階層のポイントは何ですか? – dbrin

関連する問題