2

spring-data で enum 型を cassandra の int フィールドに変換しようとしていますが、次の例外が発生します。

Unexpected runtime exception java.lang.IllegalArgumentException: 
Value 2 of type class com.twc.atg.td.dbo.client.ClassCode does not correspond to any CQL3 type   

ここに私が使用しているコードがあります:

@Enumerated(EnumType.ORDINAL)
@Column("class_code")
public ClassCode classCode;
4

1 に答える 1

1

spring-data-cassandraではサポートされていないため、このロジックをゲッター/セッターで実装できます。

@Table
public class Writer {
    ...
    public enum WriterType {
        POET, DETECTIVE, JOUNALIST
    }

    ...
    @Column(value = "writer_type")
    private Integer writerType;

    ...
    public WriterType getWriterType() {
        return WriterType.values()[writerType];
    }

    public void setWriterType(WriterType writerType) {
        this.writerType = writerType.ordinal();
    }
于 2016-03-30T00:07:38.787 に答える