如何从现有数据库生成实体时排除特定列?

时间:2015-04-15 14:19:31

标签: java hibernate

我在Hibernate上相对较新,因此有以下问题:

当我从现有数据库生成实体时,有没有办法排除特定的列?为此,我在Eclipse Luna中使用了Hibernate Tools。

2 个答案:

答案 0 :(得分:0)

如果您愿意,可以从生成的文件中删除该列。

答案 1 :(得分:-1)

我也是Hibernate的新手,需要从数据库生成大量实体。在整天努力学习如何做到这一点后,我终于得到了一个不错的答案:使用Hibernate Tools作为Maven插件或使用蚂蚁。

我发现了有关如何将Hibernate工具初始配置为Maven插件的有趣讨论:https://developer.jboss.org/message/801478#801478

然后针对您的具体问题(也是我的)如何为实体生成排除不需要的列,这就是答案:

您需要编写一个hibernate-reverse-engineering.xml文件,如下所示:

<table name="myTable">
    <!--...magic tricks and configurations...-->
    <column name="myColumnName" exclude="true"/>
</table>

但这仅适用于myTable列,而不适用于数据库/模式中的所有列(我需要的是= [)。我没有看到任何全局列过滤器标记或任何告诉Hibernate忽略您映射到JPA实体的所有表的列。

以下是hibernate-reverse-engineering.xml的文档,其中包含示例以及您可以执行的所有魔术技巧:  http://docs.jboss.org/tools/latest/en/hibernatetools/html/reverseengineering.html