例子:
public enum ShapeType {
CIRCLE, SQUARE, RECTANGLE TRIANGLE
}
public ShapeEnity {
@Enumerated(EnumType.STRING)
private ShapeType shapeType;
.......
}
public ShapeDTO {
private String shapeType;
....
}
public ShapeFinder {
public ShapeDTO find() {
QShape shape = QShape.shape;
return createQuery()
.from(shape)
.list(Projections.fields(ShapeDTO.class,
shape.shapeType.stringValue
))
}
}
如上例所示,我想在 DTO 对象中获取枚举 ShapeType 的字符串值。这种转换应该是什么样子?我在上面的示例中尝试过并且看起来不错,但是当我使用 shapeType.stringValue() 然后 Hibernate 使用调用函数 to_char(Oracle) 或 str (Sybase) 创建查询时,例如:
SELECT TO_CHAR(ShapeType) From Shape;
为什么?如何解决?