如何阻止 eclipse 从表中自动创建 JPA 实体?

Posted

技术标签:

【中文标题】如何阻止 eclipse 从表中自动创建 JPA 实体?【英文标题】:How do you stop eclipse from automatically creating JPA entities from tables? 【发布时间】:2015-07-02 20:35:33 【问题描述】:

我在 Eclipse 中有一个 JPA 项目,并且某些东西不断将数据库表与实体同步。问题是创建的实体以下划线(“_.java”)结尾。我已经从模式中手动创建了实体,因此会导致重复的实体,然后版本控制会选择它们并希望将它们添加到存储库等中。

我如何告诉 eclipse 不要生成实体,或者生成它们但没有下划线?

【问题讨论】:

【参考方案1】:

那些xxx_.java文件是元模型类,它们是必需的,由框架自动生成,不应该干扰你的工作,你为什么要删除它们?

正如this site 所说:

这个元模型在两个方面很重要。

首先,它允许提供者和框架以通用方式处理应用程序的域模型。 其次,从应用程序编写者的角度来看,它允许非常流畅地表达完全类型安全的条件查询,尤其是静态元模型方法。

还有:

对于包 p 中的每个托管类 X,都会创建包 p 中的元模型类 X_。

元模型类的名称是通过在托管类的名称后面附加“_”从托管类的名称派生而来的。

对于您所写的,一切似乎都很正常。重复的类和_ 是框架所必需的,您可以简单地忽略它们。您也应该阅读this site 了解更多信息。

但是,如果您不想将这些文件添加到您的存储库中,则有一些方法可以在您必须提交时排除某些文件,具体取决于存储库系统(例如在 git 中,使用 .gitignore 文件)。

【讨论】:

谢谢,我很困惑认为某些后台进程正在从 DB 模型创建实体。我现在明白这是完全不同的——本质上它是描述模型的附加信息。 所以我将 .java 文件添加到版本控制中,但现在生成的文件带有两个下划线 (_.java)。所以问题和问题仍然存在,我该如何关闭它? 不知何故元数据文件被添加到persistence.xml从而导致__.java文件被创建。 如果您不想每次删除这些文件时都生成这些文件,您可以尝试取消激活“启用注释处理”标志...转到属性 -> Java 编译器 ->注释处理 -> 启用注释处理

以上是关于如何阻止 eclipse 从表中自动创建 JPA 实体?的主要内容,如果未能解决你的问题,请参考以下文章

仅从表中选择一些列

在使用JPA的情况下,无法从表中获取updateBy字段。

通过 UCanAccess 在 Eclipse 中“从表中生成实体”(MS Access)

Golang:如何使用创建触发器从表中获取 LastInsertId?

如何从表中提取信息以填充已创建数据仓库中的 CALENDAR 表

从表中删除孤立记录[关闭]