私は現在、データを取り込んでMySQL DBに格納するSpring MVC設計アプリケーションでHibernateを使用しています。私は、モデルと列挙型が互いにマッピングされています。すべて正常に動作し、DBに格納されているデータは正しい(列挙型のORDINAL値を格納している)。ORDINALの代わりにSTRINGを表示するenumフィールド
しかし、CrudRepositoryのfindAll()メソッドを使用して結果を出力すると、正しい列挙値が表示されますが、ORDINAL形式ではなくSTRING形式になります。私が何を実現できるか、あるいはこれがどのようなものなのかについてのアイデアは何ですか?
以下私がこれまで持っているかを示すためのコードの小さなスニペットです:
列挙(ラベル "カーズ"):
FORD,
TOYOTA,
CHEVY
POJOスニペット(ラベル "ディーラー"):
@Enumerated(EnumType.ORDINAL)
private Cars carType;
//getters and setters
( "DealershipDAO" とラベル付けされた)DAO:
コントローラ:私はデータを表示するためにMySQLのエディタを使用している場合(私は/データ読み込み要求を呼び出した後)
@Autowired
private DealershipDao dao;
@RequestMapping(value="/dataLoad")
public String dataLoad() {
Dealership dealer = new Dealership();
dealer.setCarType(Cars.FORD);
dao.save(dealer);
return "success";
}
@RequestMapping(value="/findEverything", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Iterable<Dealership> findAll() {
return dao.findAll();
}
は今、ディーラーの表は、FORDのための列挙ORDINAL値を示しています。しかし、私は/ findEverythingリクエストを呼び出すと、値ではなく文字列、FORDを表示します。