如何阻止 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 实体?的主要内容,如果未能解决你的问题,请参考以下文章
通过 UCanAccess 在 Eclipse 中“从表中生成实体”(MS Access)
Golang:如何使用创建触发器从表中获取 LastInsertId?