Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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中进行继承@JsonFormat注释?_Java_Inheritance_Annotations - Fatal编程技术网

如何在java中进行继承@JsonFormat注释?

如何在java中进行继承@JsonFormat注释?,java,inheritance,annotations,Java,Inheritance,Annotations,我正在从事JPA Hibernate项目。我有一个日期反序列化的问题,但我也有下面的解决方案 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S") private Date createdAt; 当我使用带有日期的@JsonFormat注释时,我解决了这个问题,但我不希望每个日期变量都使用这个注释。我想使用MyDate注释,如下所示 import java.lang.annotation.

我正在从事JPA Hibernate项目。我有一个日期反序列化的问题,但我也有下面的解决方案

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S")
private Date createdAt;
当我使用带有日期的@JsonFormat注释时,我解决了这个问题,但我不希望每个日期变量都使用这个注释。我想使用MyDate注释,如下所示

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.fasterxml.jackson.annotation.JsonFormat;

@Inherited
@Target({ ElementType.ANNOTATION_TYPE, ElementType.FIELD,  ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S")
public @interface MyDate {

}

当我使用@MyDate注释时,它不能正常工作。我总是失败,就像我从未使用过一样。我的错误是什么?

您尝试过自定义Jackson注释吗

查看此-->

以下是您需要的:

用法:

@MyDate    
private Date createdAt;
以及MyDate自定义注释类:

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.annotation.JsonFormat;

@JacksonAnnotationsInside
@Retention(RetentionPolicy.RUNTIME)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S")
public @interface MyDate {}

请在回答中引用链接的相关部分,同时保留链接。仅链接的答案在这里是不能容忍的。