在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 逆向生成实体类和映射文件