2011-07-01 31 views
1

EclipseでHibernate Toolsを使用して、既存のデータベースのドメインエンティティをリバースエンジニアリングしています。Hibernateツールで生成されたメタモデルクラス

私はさらに多くのものを作り出していますが、"Metamodel"クラスのバッチが自分のドメインクラスと一緒に生成されます。これらは同じ名前のクラスですが、末尾に "_"が付いています。

私は単純にこれらのクラスを削除するため

は、それが安全である...私はメタモデルの概念hereにいくつかのドキュメントを読んだが、私は彼らの目的にはまだわからないんだけど?彼らが私にとって有用でないなら、私はパッケージエクスプローラを乱雑にしないでください。

答えて

2

メタモデルクラスは、JPA 2.0で追加された "typesafe Criteria API"によって使用されます。このAPIの詳細はこちらです:

http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html_single/#querycriteria

にHibernate EntityManagerが基準は、エンティティの特定のセットのために有効であることを確認するために、メタモデルクラスを使用することができます。例えば、エンティティのプロパティに対して "where"句を追加するクエリを書くと、Hibernateは実際にあなたのモデルに存在するプロパティを検証し、コンパイル時のエラーや警告を生成します。 Hibernateの古いCriteria APIでは、このようなクエリを検証する唯一の方法は、それを実行して例外がスローされたかどうかを確認することでした。

このCriteria APIを使用する予定がない場合は、おそらくクラスを削除しても安全です。

+0

ありがとうございました。後でCriteria APIが必要になった場合に備えて、クラスを保管しておきます。 – seanhodges

関連する問題