当前位置: 首页 > 知识库问答 >
问题:

如何将枚举的所有值映射到常量表达式?

阎涵容
2023-03-14

我想将枚举的所有可用值添加到Hibernate验证消息中。但是我不能,因为它需要一个常量表达式。

@NotNull(message = "Allowed values: " + MyEnum.values());

结果错误:

The value for annotation attribute NotNull.message must be a constant expression

如何做到这一点?

共有1个答案

葛炯
2023-03-14

我认为这是办不到的。另请参见将枚举类型用作@RolesAllowed注释的值参数。

基本上,编译时常量表达式需要传递给消息。另请参见JSL部分。

 类似资料:
  • 问题内容: 我有一个FlagsAttribute按位枚举,像这样- 现在,在C#中,我将此值存储在一个名为MyProperty的属性中,并保存后将此属性写入我的SQL数据库的整数列中。假设如果我从代码中选择,那么它将在数据库中另存为。 我知道我可以从数据库获取值,只需要将int值类型转换为MyEnum,它将为我提供这些值。但是,我希望对某些存储过程中的SQL数据执行一些操作,在这些存储过程中,显然

  • 问题内容: 我有一张桌子DEAL和一张桌子DEAL_TYPE。我想映射以下代码: 问题在于数据已经存在于数据库中。而且我很难将类映射到数据库。 数据库看起来像这样: 我知道我可以在交易类型之间使用简单的@OneToMany关系,但是我更喜欢使用枚举。这可能吗? 我几乎可以通过使用EnumType.ORDINAL类型来使其工作。但不幸的是,我的交易类型表中的ID不是连续的,并且不是从1开始。 有什么

  • 我有一个如下的枚举 此枚举表示客户的类型。 我们有一个返回客户详细信息的API 我需要验证customerType值是否为枚举中存在的值,是否有方法通过使用getContentType方法或其他方法验证方法声明中的值,就像我在date而不是方法体中所做的那样。 请帮忙。

  • 我需要将枚举列表映射到Postgres中的表。 对于1:1关系的一般映射,我发现这篇文章非常有用。代码如下所示: 但是如果是一个,那么我就可以轻松地找到一个解决方案。因为定义失败了。 为了使其具体化:我有一个表,例如,我可以在其中存储和。为了示例起见,我可以存储多个(例如,基于时间的)。那么如何正确地定义它,如果我有 以同样的方式定义它的方法会导致异常(这似乎很清楚,因为注释是针对而不是针对)

  • 我有两个枚举类,一个是外部的,另一个是内部的。 我需要将内部映射到外部,外部映射到内部。所以我做了以下工作, 因此,相同类型的映射在两种方法中重复。难道没有一种很好的方法可以用更少的代码来实现这一点吗?