可以这样做吗?我知道Hibernate是一个ORM工具,它将对象映射到数据库中的表。所以我们需要让实体在相应的表上进行CRUD。
但在我们的应用程序中,实体将是动态的,即管理员用户可以动态创建人员,位置表单,然后表格也将在数据库中动态生成。
我们可以使用hibernate来实现这一点,还是必须使用简单的JDBC?我们不想使用JDBC,因为我们希望我们的应用程序在不同的数据库上运行,如Mysql,mssql和oracle。
请帮忙。
答案 0 :(得分:2)
可以使用没有实体的Hibernate。看这里: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/persistent-classes.html#persistent-classes-dynamicmodels
答案 1 :(得分:1)
这是不可能的,我甚至无法想象这应该如何运作。说实话,你的应用程序的整个设计似乎很可疑,但没关系。
Hibernate是关于对象的 - 如果您事先不知道表结构,则无法创建映射到这些表的对象,也无法使用它们。您可以使用地图(column
- > value
),但Hibernate不支持此方法。
所以你必须回到JDBC(但是大声喊叫,使用像MyBatis或JdbcTemplate这样的抽象),因为Hibernate不支持这种方法。
答案 2 :(得分:0)
关系数据库不适合此用例。你可能会更好 使用一些键值存储/ nosql soltuion