1

Eclipse で Hibernate Tools を使用して、既存のデータベースのドメイン エンティティをリバース エンジニアリングしています。

ドメインクラスと一緒に生成された「メタモデル」クラスのバッチをまだ取得していますが、多かれ少なかれすべてが希望どおりに生成されています。これらは同じ名前のクラスですが、サフィックスとアンダースコア "_" が付きます。

ここでメタモデルの概念に関するいくつかのドキュメントを読みましたが、その目的についてはまだわかりません...

これらのクラスを単純に削除しても安全ですか? それらが私にとって役に立たない場合は、パッケージエクスプローラーを散らかしたくありません。

4

1 に答える 1

2

Metamodelクラスは、JPA2.0で追加された「typesafeCriteriaAPI」によって使用されます。このAPIの詳細は次のとおりです。

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

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

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

于 2011-07-03T19:20:42.407 に答える