を無視する/無効にすることができますid列を含むテーブル今、私は私が「ID」列を(それは識別子 'と呼ばれる列を持っている)持っていますが、原因architecural制約はありませんMyClassDTOにマッピングされたテーブルを持って見つけるにHibernate注釈どのように継承されたID部材
BaseDTO->DBAbstractClass1->DBAbstract2->MyClassDTO
BaseDTO->DBAbstractClass1->DBAbstract3->AnotherADTO
BaseDTO->DBAbstractClass2->DBAbstract4->AnotherBDTO
など
すなわち 、通常の原因ごとにexending:
[org.hibernate.util.JDBCExceptionReporter] SQL Error: 1054, SQLState: 42S22
[org.hibernate.util.JDBCExceptionReporter] Unknown column 'this_.id' in 'field list'
私は新しい@Idなどを追加し、@TransientとしてID部材を上書きしようとしたが、常に上記のエラーを取得しています。
"無視する"または継承したIDを置き換える方法が見つかったり、継承したクラスをコピーして、良いプログラマーが避けるべきBaseDTOを拡張したりする必要はありません。
私は Hibernate : How override an attribute from mapped super class に何かsimlarを見ましたが、私は私の正確な問題を解決するかどうかはわかりません。
おそらく単純なオーバーライドですが、副作用がないように注意してください。 受取人は?
公共int型\t \t ID; ' \t' Id' \t '@GeneratedValue(戦略= GenerationType.AUTO)@' \t '民間長いother_id;'とtを得ました彼はエラーに続いて失敗しましたInitial SessionFactory creation failed.org.hibernate.AnnotationException:エンティティに指定された識別子がありません:com.mine.something.AnotherDTO –