2016-09-28 87 views
0

我想在“id”上添加两个名称。 像@JsonProperty("value")@JsonProperty("id") 如何做到这一点?使用@JsonProperty使用@entity绑定更多名称与实体类

@Id 
@GeneratedValue(strategy = IDENTITY) 
@Column(name = "trainingProgramId", unique = true, nullable = false) 
public class TrainingProgram { 
    `private Integer id;` 
    public Integer getId() { 
     return this.id; 
    } 
    public void setId(Integer id) { 
     this.id = id; 
    } 
} 
+1

[JSON Jackson解析不同的键到相同的字段]的可能重复(http://stackoverflow.com/questions/19564711/json-jackson-parse-different-keys-into-same-field) – rorschach

回答

0

您可能可以将id的值复制到具有其他名称的另一个属性中。

@Id 
@GeneratedValue(strategy = IDENTITY) 
@Column(name = "trainingProgramId", unique = true, nullable = false) 
public class TrainingProgram { 
    private int id; 
    private int idDupe; 

    public TrainingProgram() { 
     idDupe = id; 
    } 

    public int getIdDupe() { 
     return this.idDupe; 
    } 

    public int getId() { 
     return this.id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 
} 

但更好的问题是:为什么你需要重复的id值?如果调用者可以直接使用id而不是重复的话,它会不会是更好的设计?

相关问题