如何在mysql/hibernate/java组合上管理动态实体
我试图通过一个界面创建一些动态实体,在这个界面上有一个可以由最终用户自定义的主实体。这种实体的许多变体可以同时存在于数据库和应用程序上 我需要在db上定义这样的动态实体,并通过定制的表单在其中存储数据,以便为它们收集数据。并在我们的应用程序中使用这些数据 ui部分对我们来说并不可怕,我们有一个很好的方法来处理它们。但管理单一实体的大量品种似乎是个问题 Hibernate需要一个pojo。我们目前正在研究使用hibernate进行基于地图的序列化 这里的问题是-为实体的每个变体创建一个单独的表是一种好的做法吗?或者,最好将实体完全反规范化,并将它们作为键/值对存储在具有类型id的字符串中,然后进行转换 还有比这些更好的解决方案吗如何在mysql/hibernate/java组合上管理动态实体,java,mysql,hibernate,Java,Mysql,Hibernate,我试图通过一个界面创建一些动态实体,在这个界面上有一个可以由最终用户自定义的主实体。这种实体的许多变体可以同时存在于数据库和应用程序上 我需要在db上定义这样的动态实体,并通过定制的表单在其中存储数据,以便为它们收集数据。并在我们的应用程序中使用这些数据 ui部分对我们来说并不可怕,我们有一个很好的方法来处理它们。但管理单一实体的大量品种似乎是个问题 Hibernate需要一个pojo。我们目前正在研究使用hibernate进行基于地图的序列化 这里的问题是-为实体的每个变体创建一个单独的表是一
我们还考虑评估云数据库是否更适合场景。任何建议都是非常受欢迎的。我问这个问题已经有一段时间了,与此同时,我一直在大量试验我的选择 我尝试过的一种选择是使用hibernate映射模式,尽管它在定义和更改实体方面非常灵活,但实际上我无法存储特定系列的各种类型。我们在MySQL中创建了一个键值存储,并编写了一个库来进行数据转换,从而在存储变体方面取得了一些成功。然而,在mysql上查询这些数据实际上看起来令人望而生畏。我们通过使用lucene上的搜索索引作为答案来解决这个问题
然而,mycase的结论是使用HBase并进行智能扫描查询。这就是我目前对这个问题的答案,而且似乎效果很好 澄清-由于实体将通过ui定义/定制,因此我们不能使用pojo。我们面临的真正挑战是确定存储实体的最佳方法。