我试图将Morphia的QueryDSL集成到我的项目中,但看起来QueryDSL忽略了转换器。
仅限Morphia的查询有效:
OtherType
QueryDSL版本抛出异常,因为它没有使用转换器:
return createQuery().field("email").equal(email).get();
org.bson.codecs.configuration.CodecConfigurationException:找不到类org.example.Email的编解码器
转换器通过注释配置:
return query(user).where(user.email.eq(email)).fetchOne();
这是我的Maven设置:
@Entity
@Converters(EmailConverter.class)
public class User implements Serializable {
...
<dependency>
<groupId>org.mongodb.morphia</groupId>
<artifactId>morphia</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.1.3</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-mongodb</artifactId>
<version>4.1.3</version>
</dependency>
我错过了一些配置吗?或者不能将转换器与QueryDSL一起使用?