由Hibernate工具生成的元模型类

时间:2011-07-01 13:16:21

标签: java hibernate jpa hibernate-tools metamodel

我正在使用Eclipse中的Hibernate Tools来反向工程现有数据库的域实体。

我或多或少都能生成我想要的东西,尽管我仍然得到一批与我的域类一起生成的“Metamodel”类。这些是具有相同名称的类,但后缀为“_”后缀。

我已经阅读了关于元模型概念here的一些文档,但我仍然不确定它们的用途......

简单地删除这些课程对我来说安全吗?如果它们对我没用,我宁愿不让它们弄乱我的包浏览器。

1 个答案:

答案 0 :(得分:2)

Metamodel类由JPA 2.0中添加的“typesafe Criteria API”使用。有关此API的详细信息,请访问:

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

Hibernate EntityManager可以使用元模型类来验证Criteria对给定的一组实体是否有效。例如,如果您尝试编写一个针对实体属性添加“where”子句的查询,Hibernate可以验证模型中实际存在的属性,并且(我相信)生成编译时错误或警告。使用Hibernate的旧Criteria API,验证此类查询的唯一方法是执行它并查看是否抛出了异常。

如果您不打算使用此Criteria API,那么删除类可能是安全的。