0

Hibernate、Spring、MySQLのバックエンドとしてJavaを使用するJavascriptアプリケーションがあります。問題は、DBとエンティティソースで列を大文字にしたにもかかわらず、バックエンドから返された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}

この動作はどういうわけかオーバーライド可能/構成可能ですか?さらに必要な場合は、必要なデータで投稿を更新します。

4

2 に答える 2

3

これは、getterメソッドの名前に基づくJacksonの従来の出力です。@JsonPropertyアノテーションを使用して、この動作をオーバーライドします。

于 2012-12-13T01:49:23.190 に答える
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;
}
于 2012-12-13T10:57:14.210 に答える