Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @目标属性值必须是类文字_Java_Spring_Hibernate - Fatal编程技术网

Java @目标属性值必须是类文字

Java @目标属性值必须是类文字,java,spring,hibernate,Java,Spring,Hibernate,我正在使用Spring和Hibernate进行我的第一个项目,我想为IP地址创建一个验证器 要创建项目,我使用IntelliJ。当我像这样输入代码时,我在@Target注释属性值必须是类文本上得到一个错误 我确实理解这个注释必须做什么,但是如果我一直得到这个错误,它将无法工作 我在这里查看了有关自定义约束的文档,并查看了几个Stackoverflow页面,但我无法解决此错误 import org.hibernate.annotations.Target; import javax.valida

我正在使用Spring和Hibernate进行我的第一个项目,我想为IP地址创建一个验证器

要创建项目,我使用IntelliJ。当我像这样输入代码时,我在
@Target
注释
属性值必须是类文本上得到一个错误

我确实理解这个注释必须做什么,但是如果我一直得到这个错误,它将无法工作

我在这里查看了有关自定义约束的文档,并查看了几个Stackoverflow页面,但我无法解决此错误

import org.hibernate.annotations.Target;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import static java.lang.annotation.ElementType.FIELD;


/**
 * Created by johan on 17-5-17.
 */
@Target({ FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = IpAddressValidator.class)
public @interface IpAddress{
    String message() default "{ipAddress.invalid}";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}
import org.hibernate.annotations.Target;
导入javax.validation.Constraint;
导入javax.validation.Payload;
导入java.lang.annotation.Documented;
导入java.lang.annotation.Retention;
导入java.lang.annotation.RetentionPolicy;
导入静态java.lang.annotation.ElementType.FIELD;
/**
*约翰于2017年5月17日创作。
*/
@目标({FIELD})
@保留(RetentionPolicy.RUNTIME)
@记录
@约束(validatedBy=IpAddressValidator.class)
公共@接口IP地址{
字符串消息()默认值“{ipAddress.invalid}”;
类[]组()默认值{};

Class您使用了错误的
@Target
。您本想使用
java.lang.annotation.Target
但导入了
org.hibernate.annotations.Target
。将第一次导入更改为
import java.lang.annotation.Target
,应该可以正常工作。

可能
FIELD.Class
?@litite没有,已经尝试过了。然后我得到了一个message
未知类:FIELD
是一个全局常量,而不是一个类。@litelite我应该在那里放什么?如果我想验证一个字段?如果你知道去哪里找,生活有时会很简单。谢谢。同样的故事!谢谢你,伙计!