2012-12-13 40 views
0

我有一個Javascript應用程序,使用Java作爲Hibernate,Spring和MySQL的後端。問題是,即使我已經在我的數據庫中大寫了列,並且在我的實體源中,我也從後端返回的JSON中獲得了小寫的列名。使用休眠時返回的小寫字母列名

這裏的模型來源:

package app.model; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 
import javax.persistence.Table; 

import org.codehaus.jackson.annotate.JsonAutoDetect; 

@JsonAutoDetect 
@Entity 
@Table(name="resources") 
public class Resource { 

    @Id 
    @GeneratedValue 
    @Column(name="Id") 
    private int Id; 

    @Column(name="Name", nullable=false) 
    private String Name; 

    public int getId() { 
     return Id; 
    } 

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

    public String getName() { 
     return Name; 
    } 

    public void setName(String name) { 
     this.Name = name; 
    } 
} 

而返回的JSON:

{"data":[{"name":"Tom","id":8},{"name":"Mike","id":9},{"name":"Jerry","id":10},{"name":"Larry","id":11},{"name":"Tina","id":12},{"name":"Tony","id":15}],"success":true}

這種行爲在某種程度上重寫/配置?如果還需要更多信息,我會使用所需數據更新信息。

回答

3

這是Jackson基於getter方法名稱的常規輸出。使用@JsonProperty註釋來覆蓋此行爲。

3

試試這個..

@JsonProperty("Id") 
public int getId() { 
    return Id; 
} 

public void setId(int id) { 
    this.Id = id; 
} 
@JsonProperty("Name") 
public String getName() { 
    return Name; 
} 

public void setName(String name) { 
    this.Name = name; 
}