HibernateのMappingException Unknown entityの意外かもしれない原因

プログラミング
この記事は約2分で読めます。

Check the difference between your entity class fields and your real table definition.

生きています。生きてますが、Hibernate全然分からない。。

新規テーブルに対するEntityクラスに関して、MappingExceptionで1時間くらいハマってひどい目にあったのでメモ。。
検索してよく出てくる原因は下記だけど、今回はどれでもなかった。

  • 対象のEntityクラスに@Entityアノテーションを付け忘れている。
  • @Entityアノテーションについて、javax.persistence.Entityではなくorg.hibernate.annotations.Entityをimportしてしまっている。
  • hibernate.cfg.xmlに新規Entityクラスの設定を追加し忘れている。
  • Entityクラスの設定は追加したものの、hibernate.cfg.xmlのファイル名やpathの誤りなどで、参照できていない。

今回の原因は、Entityクラスと実際のテーブル定義に差異があった(テーブル定義にしかないカラムがあった)ことが原因だった。。

MappingExceptionであることはその通りだと思うけど、Unknownていうのがミスリードな気もした。。一応、テーブル名まではあってたのに。。

まあ、同姓同名だけど生年月日違ったら知らない人だよね、と言われたらその通りだけど。。

コメント

タイトルとURLをコピーしました