0
我面临将java
枚举转换为字符串转换的问题。请如果你有任何想法。枚举到JPQL选择查询中的字符串
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''改变价值? –
@rev_dihazum:是的,因为它需要数据迁移,我想避免它。谢谢 – sarwar026
你的''String toString()''方法也无法达到目的?我想它应该工作。 –