1

として注釈が付けられたエンティティがあります

@Enumerated( EnumType.ORDINAL )
private CommentStatus cd_status = CommentStatus.DEFAULT;

私の Q クラスが生成します

public final EnumPath<CommentStatus> cd_status = createEnum("cd_status", CommentStatus.class);

次のステートメントを使用します。

QCommentEntity tableComment = QCommentEntity.commentEntity;
EnumPath<CommentStatus> o = tableComment.cd_status;

コンパイル時に次のエラーが発生しますtableComment.cd_status

Type mismatch: cannot convert from NumberPath<Integer> to EnumPath<CommentStatus>

ええと、NumberPath? これは EnumPath タイプです。何?

querydsl 内部の経験はありません。なぜこうなった?

QueryDSL 3.2.2

編集1:
$ mvn dependency:tree -Dverbose -Dincludes=com.mysema.querydsl

+- com.mysema.querydsl:querydsl-jpa:jar:3.2.2:compile
[INFO] |  \- com.mysema.querydsl:querydsl-core:jar:3.2.2:compile
[INFO] \- com.mysema.querydsl:querydsl-apt:jar:3.2.2:provided
[INFO]    \- com.mysema.querydsl:querydsl-codegen:jar:3.2.2:provided
[INFO]       \- (com.mysema.querydsl:querydsl-core:jar:3.2.2:provided - omitted for duplicate)

querydsl-jpa-3.2.2-apt-hibernate-one-jar.jarEclipse Q クラスの生成に使用する

4

1 に答える 1

0

ある種のクラスパスの問題であることが判明しました。
問題の予測不可能な性質のため、原因を正確に特定できませんでした。

于 2013-09-05T00:10:28.143 に答える