我遇到了一个问题,我无法找到答案,而且无法找到任何明确的指导。
我是许多不同客户使用的应用程序的工程师。这些客户中的每一个都对其数据有不同的要求,并且每个客户都将数据加载到他们自己的特定数据库中供我们的应用程序使用(相同的表,只是不同的数据库实例)。
作为参考,我们使用的技术有:Freemarker,Spring MVC,Java 8,内部数据库层(类似于hibernate,但很久以前由我们构建),MS Sql Server。
示例
客户1将数据X,Y和Z加载到客户1的数据库实例上的表Foo中
客户2将数据Q,R和S加载到客户2的数据库实例上的表Foo中
这些数据以表格格式显示在HTML页面上,无论我们决定将其从数据库中拉出来的顺序如何,在这种情况下按字母顺序排列。
客户1
X
ý
ž
客户2
Q
[R
取值
问题
客户1来找我们,要求我们改变它的显示方式。他们希望它以Y,X和Z的顺序显示而不是按字母顺序显示。但是我们不想改变客户2看到数据的方式,因为它们的出现方式很好,所以我们不想在Java代码中更改查询。
提议的解决方案
将序列列添加到Foo表中,为客户提供权力,以定义数据显示的顺序,因为他们是首先加载数据的人。
问题
这是处理此问题的最佳方法吗?是否有一种配置方式我们可以做这样的事情,或者MSSQL中的某些东西会有所帮助?
我觉得在表格中添加一列来定义显示逻辑是解决这个问题的一种不好的方法,但是我对另一种选择感到茫然。
不幸的是,这个要求是不可协商的,因此告诉他们"艰难的"是不可能的:))
感谢您提供任何帮助,提示或澄清!不是最简单的概念。