使用 Hibernate 但没有任何实体的 CRUD

发布于 2024-12-07 03:03:04 字数 265 浏览 2 评论 0原文

可以这样做吗?我知道 Hibernate 是一个 ORM 工具,它将对象映射到数据库中的表。所以我们需要有实体对相应的表进行CRUD。

但在我们的应用程序中,实体将是动态的,即管理员用户可以动态创建人员、位置表单,然后表也将在数据库中动态生成。

我们可以使用 hibernate 来完成此操作还是必须使用简单的 JDBC 来完成此操作?我们不想使用 JDBC,因为我们希望我们的应用程序在不同的数据库(例如 Mysql、mssql 和 oracle)上运行。

请帮忙。

Is is possible to do this? I know Hibernate is an ORM tool which maps objects to tables in the database. So we need to have the entities to do CRUD on the corresponding tables.

But in our application entities will be dynamic i.e. Admin User can create person , location forms dynamically and then the tables will also be generated dynamically in the database.

Can we do this using hibernate or we will have to use simple JDBC for this? We dont want to use JDBC as we want our application to run on different databases like Mysql, mssql and oracle.

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

过潦 2024-12-14 03:03:04

这是不可能的,我什至无法想象这应该如何运作。老实说,您的应用程序的整个设计看起来很可疑,但没关系。

Hibernate 是关于对象的 - 如果您事先不知道表结构,则无法创建映射到这些表的对象,也无法使用它们。您可以使用映射 (column -> value),但 Hibernate 不支持这种方法。

所以你必须退回到 JDBC(但是大声喊叫,使用像 MyBatisJdbcTemplate) Hibernate 不支持这种方法。

It is not possible and I can't even imagine how should this work. To be honest, the whole design of your application seems suspicious, but never mind.

Hibernate is about objects - if you don't know the table structure beforehand, you can't create objects mapping to those tables and you can't use them. You can use maps (column -> value) instead, but this approach is not supported by Hibernate.

So you do have to fall back to JDBC (but crying out loud, use abstractions like MyBatis or JdbcTemplate) since Hibernate does not support such approach.

子栖 2024-12-14 03:03:04

关系数据库不太适合这种用例。你可能会过得更好
使用一些键值存储/nosql 解决方案

Relational databases are not well adapted for this use case. You may be better off
with some key-value store / nosql soltuion

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文