Jhipster JDL模式在Java@pattern中不正确

Jhipster JDL模式在Java@pattern中不正确,jhipster,Jhipster,当我在JDL中应用模式时,生成的实体类具有@pattern注释,但该注释的值不是在JDL中应用的确切模式 例如,如果我在java中将模式定义为模式('/[^\\s]+.[^\\s]+/') 它反映为 @Pattern(regexp=“[^\\\\s]+.[^\\\\s]+” 如果您注意到java类中有4(斜杠),实际上应该只有2。因为这个功能失败了。在我看来,您试图在模式中使用正则表达式控制字符,而不需要在JDL中加倍:请参见,特别是“正则表达式”下的部分,其中说:“/…/模式在两个斜杠内声明…

当我在
JDL
中应用模式时,生成的实体类具有
@pattern
注释,但该注释的值不是在
JDL
中应用的确切模式

例如,如果我在java中将模式定义为
模式('/[^\\s]+.[^\\s]+/')


它反映为
@Pattern(regexp=“[^\\\\s]+.[^\\\\s]+”


如果您注意到java类中有4(斜杠),实际上应该只有2。因为这个功能失败了。

在我看来,您试图在模式中使用正则表达式控制字符,而不需要在JDL中加倍:请参见,特别是“正则表达式”下的部分,其中说:“/…/模式在两个斜杠内声明…\n反斜杠不需要转义”


所以它的动作是正确的。因为JDL中有两个后移,所以Java用四个后移正确地解释了它。根据文档,您的解决方案只是在JDL中使用单个backsland。

问题更正。java类模式是@pattern(regexp=“[^\\\\s]+.[^\\\\s]+”),那么您的问题是什么?在我看来,它更像是一个bug报告。简单地说,jdl中为空白提供的模式并不像java类中那样反映出来//(2个slashesh)在java类中被//(4个slashesh)替换。因此验证失败。