0

例子:

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;

为什么?如何解决?

4

0 回答 0