にカスタム値の列挙型を保存していない私は、値が-2、-1、0、1、2のようになっている場合、以下のように定義された列挙型を有しますこのモデルは、私は以下に示すように、属性がrating
と呼ばれています:スプリングJPAがデータベース
@Service
public class FeedbackService {
@Autowired
private FeedbackRepository feedbackRepository;
public Feedback addFeedback(Feedback feedback) {
return feedbackRepository.save(feedback);
}
}
:
@Entity
public class Feedback {
@Column(nullable=false)
private Rating rating;
public Feedback() {}
public Rating getRating() {
return rating;
}
public void setRating(Rating rating) {
this.rating = rating;
}
}
その後、RESTfulなAPIを介して、私は次のコードを使用して評価を保存しました
{
"rating": "EXTREMELY_DISSATISFIED"
}
が、私は値-2 Postgresデータベース内を期待:
だから、私のような要求をPOST
とき。ただし、通常の列挙型は0から始まるため、0が表示されます。-2、-1、0、1、2の値をデータベースに格納するには、これをどのように調整できますか?
JPAプロバイダは、任意のカスタム列挙型は保存されませんそのプロバイダが特別な処理をしていない場合や、そうでない場合の値はありません。 DataNucleusは、http://www.datanucleus.org:15080/products/accessplatform_5_1/jpa/mapping.html#_enumsのように一方通行をサポートしていますが、どのプロバイダが使用しているかによって異なります。 – DN1
[固定値のJPAでMap enumを複製していますか?](https://stackoverflow.com/questions/2751733/map-enum-in-jpa-with-fixed- valuesues) –