在querydsl上使用枚举时的类型错误

时间:2013-08-29 05:59:03

标签: java enums querydsl

我有一个注释为

的实体
@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类型。 WAT?

我没有使用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.jar进行eclipse Q类生成

1 个答案:

答案 0 :(得分:0)

原来是某种类路径问题 由于问题的不可预测性,我无法准确确定原因。