0
java
列挙型を文字列変換に変換する際に問題に直面しています。あなたは何か考えてください。JPQL selectクエリで文字列に列挙する
String mainQuerySt = "select o.ttType from Tt o";
Query mainQuery = em.createQuery(mainQuerySt);
List result = mainQuery.setFirstResult(offset).setMaxResults(numofRecords).getResultList();
ttType enum
の文字列表現が必要です。どうやってするの?
マイTt
定義:
@Enumerated(EnumType.ORDINAL)
@Column(name = "tt_type", nullable = false)
private TTType ttType;
マイ列挙TTType
定義:
public enum TTType
{
FC,
PD
;
@Override
public String toString()
{
switch (this)
{
case FC:
return "FC";
case PD:
return "PD";
default:
throw new AssertionError();
}
}
}
システムが生きているので、私は今@Enumerated
でEnumType.STRING
を使用することはできません。
ご返信ください。
ですから、 '' EnumType.STRING''を回避する理由データベースレベルのthatsで値を変更したくありませんか? –
@rev_dihazum:はい。データ移行が必要となるため、避けたいのです。ありがとう – sarwar026
'' String toString() ''メソッドも目的を果たすことができませんでしたか?私はそれが動作するはずだと思います。 –