当我在JDL
中应用模式时,生成的实体类具有@Pattern
注释,但是该注释的值不是在JDL
中应用的确切模式。
例如,如果我已将模式定义为
pattern('/[^\\s]+.*[^\\s]+/')
并在Java中
它反映为
@Pattern(regexp = "[^\\\\s]+.*[^\\\\s]+")
如果您在java类中注意到,则有4(斜杠),实际上应该仅为2。由于此功能失败。
答案 0 :(得分:0)
在我看来,您正试图在您的模式中使用正则表达式控制字符,不需要在您的 JDL 中加倍:参见 https://www.jhipster.tech/jdl/entities-fields,尤其是下面的部分“正则表达式”,它说:“/.../ 模式在两个斜杠内声明...\反斜杠不需要转义”
所以它的行为是正确的。由于您的 JDL 中有双反斜线,Java 正确地将其解释为四重反斜线。根据文档,您的解决方案只是在您的 JDL 中使用单个 backslant。