Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql/hibernate/java组合上管理动态实体_Java_Mysql_Hibernate - Fatal编程技术网

如何在mysql/hibernate/java组合上管理动态实体

如何在mysql/hibernate/java组合上管理动态实体,java,mysql,hibernate,Java,Mysql,Hibernate,我试图通过一个界面创建一些动态实体,在这个界面上有一个可以由最终用户自定义的主实体。这种实体的许多变体可以同时存在于数据库和应用程序上 我需要在db上定义这样的动态实体,并通过定制的表单在其中存储数据,以便为它们收集数据。并在我们的应用程序中使用这些数据 ui部分对我们来说并不可怕,我们有一个很好的方法来处理它们。但管理单一实体的大量品种似乎是个问题 Hibernate需要一个pojo。我们目前正在研究使用hibernate进行基于地图的序列化 这里的问题是-为实体的每个变体创建一个单独的表是一

我试图通过一个界面创建一些动态实体,在这个界面上有一个可以由最终用户自定义的主实体。这种实体的许多变体可以同时存在于数据库和应用程序上

我需要在db上定义这样的动态实体,并通过定制的表单在其中存储数据,以便为它们收集数据。并在我们的应用程序中使用这些数据

ui部分对我们来说并不可怕,我们有一个很好的方法来处理它们。但管理单一实体的大量品种似乎是个问题

Hibernate需要一个pojo。我们目前正在研究使用hibernate进行基于地图的序列化

这里的问题是-为实体的每个变体创建一个单独的表是一种好的做法吗?或者,最好将实体完全反规范化,并将它们作为键/值对存储在具有类型id的字符串中,然后进行转换

还有比这些更好的解决方案吗


我们还考虑评估云数据库是否更适合场景。任何建议都是非常受欢迎的。

我问这个问题已经有一段时间了,与此同时,我一直在大量试验我的选择

我尝试过的一种选择是使用hibernate映射模式,尽管它在定义和更改实体方面非常灵活,但实际上我无法存储特定系列的各种类型。我们在MySQL中创建了一个键值存储,并编写了一个库来进行数据转换,从而在存储变体方面取得了一些成功。然而,在mysql上查询这些数据实际上看起来令人望而生畏。我们通过使用lucene上的搜索索引作为答案来解决这个问题


然而,mycase的结论是使用HBase并进行智能扫描查询。这就是我目前对这个问题的答案,而且似乎效果很好

澄清-由于实体将通过ui定义/定制,因此我们不能使用pojo。我们面临的真正挑战是确定存储实体的最佳方法。