首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在应用程序中添加自定义字段

在应用程序中添加自定义字段
EN

Stack Overflow用户
提问于 2016-11-02 23:34:41
回答 2查看 797关注 0票数 1

我有一个SAAS产品,它是由Spring MVC和Hibernate构建的。一般情况下,SAAS产品允许用户自定义产品,比如在表格中添加额外的字段。

所以我想给用户更多的灵活性,在表格中为他们自己创建自定义字段。

请提供所有可行的解决方案来实现它。

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2016-11-02 23:42:21

我猜你是想把它备份到关系型数据库中。主要问题是关系数据库将数据存储在表中,而表并不能很好地处理自由格式的数据。

因此,一种解决方案是使用灵活的文档结构,如XML (可能会抛弃数据库),但数据库具有很好的特性,因此让我们也考虑使用数据库的方法。

您可以创建一个“自定义字段”表,该表将包含以下列(复合主键

ExtendedTable ColumnName

但你也必须将数据存储在某个地方

(ExtendedKey) DataItem

现在我们进入了真正令人讨厌的部分。您将如何对此数据应用约束?我的意思是,DataItem的类型是什么?一般的解决方案将非常复杂(作为一种自由格式的数据库)。希望您可以将解决方案限制为只解决您需要解决的问题。

另一种方法是使用包含XML记录的单个“额外”列,该记录嵌入了自己的“列和值”扩展,但是如果希望高效地显示表,则必须解析出每个字段中的每个XML文档,这并不理想。

这两种方法都不能很好地与现有的SQL查询语言配合使用,因此您将开始构建自己的查询语言。

我建议您回去查看实际的数据需求,而不是在您的表上使用“和任何其他可能需要的”列集将它们扫到表的下面。

票数 1
EN

Stack Overflow用户

发布于 2016-11-03 00:12:53

您的需求最适合NoSQL数据库(如MongoDB)的用例。

在应用程序中根据用户请求动态创建关系数据库表和列(修改模式)不是最佳实践,因为这些操作涉及到非常强大的DDL操作,如果您不小心处理它们,整个应用程序的数据库就会进入不一致的状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40383924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档