java - 从数据库生成实体类的 Eclipse 不拉关联

标签 java eclipse hibernate sybase

我正在使用现有数据库使用 hibernate 重写应用程序。此应用程序具有所有选择查询,它基本上是只读应用程序。

我正在尝试使用 Eclipse 中的 JPA 工具从表中创建实体类,因为没有在数据库上定义约束,生成的模型类没有关系。该数据库中的应用程序使用了大约 100 个表。

我试图从现有的 sql 查询中找出表之间的关系,并使用数据库中的数据。但是由于表很多,很难手动完成。

由于数据库被许多应用程序使用,因此无法在数据库上强制执行关系

问题:

1.在没有数据库约束的情况下,有没有办法生成有关系的实体?

2.如果需要手动完成,最好的方法是什么?

最佳答案

1.Is there any way of to generate entities with relationships if there are no constraints on database?

即使有可能,也很容易出错。根据什么规则,可以以惯用且可靠的方式生成关系?

2.If it needs to be done manually, what is the best approach?

如果我在你那里,我会以安全的方式做事。
在生成实体后手动添加实体之间的所有关系可能容易出错且麻烦。

假设您在实体的生成阶段犯了错误(并且您可以看到表的数量)并且您想要再次生成它们,而您已经在实体中手动添加了十几个关系。
通过重新开始生成,您将失去实体中所有这些手动添加的关系。
您必须从零开始。

我认为你应该以相反的方式做事。

例如,您可以创建数据库的副本(我指的是副本,因为我认为如果您对表没有约束,那是有意为之)并在数据库副本的表上添加约束。
然后,从这些具有指定约束的表中,您可以生成具有所有必需关系的实体。

这种方式有两个优点:

  • 能够快速反馈您要添加到表中的 PK/FK 约束是否与您的现有数据兼容。

  • 能够以渐进的方式进行,并能够在需要时退后一步。
    例如,如果您在实体的生成阶段犯了一些错误(并且您可以让他们看到表的数量),您可以重复生成阶段而不会丢失您在表上添加的 PK/FK 约束导致的自动生成的关系.

关于java - 从数据库生成实体类的 Eclipse 不拉关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42600976/

相关文章:

java - 在单个 java 文件中使用两个 java 类的性能问题

java - 使用 e4 工具的 Eclipse RCP

java - 如何按标识符或主键的顺序加载多个 Hibernate 实体

java - 亚马逊 aws ubuntu java mysql 网络服务 "Error calling Driver#connect"

java - @Sort 在 Hibernate 中不起作用

java - Sqlite + Android 行结果中的空列

java - 您如何获得项目的可视化 map ?

java - 将maven项目集成到Eclipse中

ruby - Eclipse(在 OS X 10.9 上)默认内置 Ruby 2.0 但需要 1.8.7

java - Jooq/SQL 查找另一列中唯一值的平均值