如何使用java中的值创建类似类型驱动的选择(例如图片)

如何使用java中的值创建类似类型驱动的选择(例如图片),java,Java,如果要创建类似类型驱动的选择,请使用值: 在Java中保存此对象的最佳方法是什么(稍后用jpa保存) 我还想稍后再对此进行查询,以获得例如avgerage分数(如何处理NA值也是需要考虑的问题) 不知道如何解决这个问题,所以建议更受欢迎。为什么不将它作为一个单选框,并将其映射到对象的int属性中呢。值的范围从0到10,NA可以表示为-1。为什么不将其作为单选框,并将其映射到对象的int属性中呢。值的范围从0到10,NA可以表示为-1。如果您的值只是数字加N/A,那么您可以按照Perceptio

如果要创建类似类型驱动的选择,请使用值:

在Java中保存此对象的最佳方法是什么(稍后用jpa保存)

我还想稍后再对此进行查询,以获得例如avgerage分数(如何处理NA值也是需要考虑的问题)


不知道如何解决这个问题,所以建议更受欢迎。

为什么不将它作为一个单选框,并将其映射到对象的int属性中呢。值的范围从0到10,NA可以表示为-1。

为什么不将其作为单选框,并将其映射到对象的int属性中呢。值的范围从0到10,NA可以表示为-1。

如果您的值只是数字加N/A,那么您可以按照Perception和Gavin Xiong的建议执行,并将其作为数字列存储在DB中。我会将列设置为null,并按照Perception的建议使用DBNULL来表示N/A,而不是使用一个神奇的值(甚至是像-1这样的“标准”值)。他们都没有提到如何在Java代码中表示这一点,但我认为在大多数情况下,Java中的null是数据库中DBNULL的更自然的映射,因此我将其表示为整数(对象),而不是null==DBNULL==N/a的int(原语),除非有理由这样做

您自己提出了如何处理N/A值公式(例如平均值)的边缘案例,您需要在这些案例中定义所需的行为以获得最终答案。您对如何存储这些值的决定也将改变公式查询的复杂程度;如果按照Gavin建议的方式将值存储为-1,那么肯定需要编写一个带有WHERE子句的查询,以将这些行从平均值中排除(如果这是您想要的行为),而如果将列设置为可空并将DBNULL存储为N/a的值,则可能会免费获得其中的一部分


注意:在将N/A映射到DBNULL之前,应该非常确定除了N/A之外不会有任何非数值。如果您认为将来很有可能会有其他非数值,我会认真考虑以不同的方式存储它,因为DBNULL只允许您表示一个非数值。如果必须这样做,我会将所有内容作为varchar存储在数据库中,然后在Java或SQL/JPA中添加代码,将数字字符串解析为数字,并在其上动态运行公式。(您可以使用多个神奇值,如-1、-2等,但如果您有多个值,它将很快变得混乱。)

如果您的值只是数字加N/a,那么您可以按照Perception和Gavin Xiong的建议执行,并将其作为数字列存储在数据库中。我会将列设置为null,并按照Perception的建议使用DBNULL来表示N/A,而不是使用一个神奇的值(甚至是像-1这样的“标准”值)。他们都没有提到如何在Java代码中表示这一点,但我认为在大多数情况下,Java中的null是数据库中DBNULL的更自然的映射,因此我将其表示为整数(对象),而不是null==DBNULL==N/a的int(原语),除非有理由这样做

您自己提出了如何处理N/A值公式(例如平均值)的边缘案例,您需要在这些案例中定义所需的行为以获得最终答案。您对如何存储这些值的决定也将改变公式查询的复杂程度;如果按照Gavin建议的方式将值存储为-1,那么肯定需要编写一个带有WHERE子句的查询,以将这些行从平均值中排除(如果这是您想要的行为),而如果将列设置为可空并将DBNULL存储为N/a的值,则可能会免费获得其中的一部分


注意:在将N/A映射到DBNULL之前,应该非常确定除了N/A之外不会有任何非数值。如果您认为将来很有可能会有其他非数值,我会认真考虑以不同的方式存储它,因为DBNULL只允许您表示一个非数值。如果必须这样做,我会将所有内容作为varchar存储在数据库中,然后在Java或SQL/JPA中添加代码,将数字字符串解析为数字,并在其上动态运行公式。(您可以使用多个魔法值,如-1、-2等,但如果您有多个魔法值,它将很快变得混乱。)

不确定术语验证列表是否适用,但这看起来像是一个简单的类型驱动选择,其值范围为0到10。关联数据库列中的null将映射到屏幕上的N/A。编辑问题。THX不确定术语验证列表是否适用,但这看起来像是一个简单的类型驱动选择,其值范围为0到10。关联数据库列中的null将映射到屏幕上的N/A。编辑问题。在这种情况下,“反馈”不会改变,因此给出的想法会很好。我建议map N/A as-1的原因是性能问题。我不知道你在做什么,但这绝对是你应该考虑的。您可以在这里找到类似的建议:在这种情况下,MS SQL Server,因此通常我不会对indexGavin Xiong关于NULL与“神奇”值之间的权衡的观点有任何问题;包含MYCOLUMN为NOT NULL的条件的数据库查询将比使用MYCOLUMN-1的相同查询慢。性能上的差异是否对您的应用程序有意义,以及提高性能是否值得编写更复杂的查询,这取决于您的具体情况。(而且它可能会更多地受到