在eclipse中将实体映射到连接的问题

Posted

技术标签:

【中文标题】在eclipse中将实体映射到连接的问题【英文标题】:Problem with mapping entities to connection in eclipse 【发布时间】:2020-05-07 09:46:37 【问题描述】:

我有 mysql 数据库,那里有一些表,在我的 Workbench 中一切都很好,但是当我在 eclipse 中与该数据库建立连接并在 eclipse 中打开检查器以查看表时,表中存在问题uloga' 有一些不应该存在的列。这当然是一个问题,当我尝试使用 Hibernate 生成模型时,我在类 Uloga 字段中不应该存在,因为 Hibernate 从连接生成模型类。这是我的数据库模型:

这是它在我的工作台中的外观:

当我连接到 db 时,这就是它在 Eclipse 中的样子:

这个问题有解决办法吗?

【问题讨论】:

代码中的Uloga 类中是否还有其他字段,而数据库中不存在这些字段? 【参考方案1】:

您不想映射到数据库的所有字段都需要使用@Transient 进行注释。此注释将“告诉”休眠忽略用它注释的字段。

此注解位于javax.persistence 包中。

https://docs.oracle.com/javaee/7/api/javax/persistence/Transient.html

@编辑: 在使用 hibernate 时,您真的不需要在数据库中定义表。它将自动定义它们。我会尝试删除表uloga,或者至少重新定义它,然后运行程序。

【讨论】:

【参考方案2】:

是的,我有。 This is how does my class Uloga looks like 有四个字段,它们不在数据库中。 idGlumac、idPredstava 等字段不应在此类中。

【讨论】:

【参考方案3】:

是的,我知道,但还有另一个问题。我从数据库中创建类,当我建立连接时,它使我在 Uloga 表中有更多列,然后我将它放在数据库中。在那之后一切都是问题,上课会让我出错等等。我解释得很好吗?

【讨论】:

【参考方案4】:

我发现了问题所在。我的数据库中还有一个数据库,该数据库具有相同名称的表,并且在我建立连接时在 Eclipse 中的映射中,连接将这两个表合二为一。非常愚蠢的问题,我花了我最后一天的时间。如果你不知道如何以愚蠢的方式度过你的时间,请给我打电话。

【讨论】:

以上是关于在eclipse中将实体映射到连接的问题的主要内容,如果未能解决你的问题,请参考以下文章

在实体框架中将对象类型属性映射到 varbinary(MAX)

如何在 JPA Hibernate 映射中将 GUID(不是 PK)添加到已经具有 PK(整数)的现有实体

eclipse 通过Hibernate 逆向生成实体类和映射文件

eclipse 通过Hibernate 逆向生成实体类和映射文件

在 Spring Boot jpa 中将多个外键映射到同一个主键

从父实体映射中将可嵌入字段设置为主键 - Doctrine2