Morphia的QueryDSL不使用转换器

时间:2016-10-01 16:52:42

标签: mongodb querydsl morphia

我试图将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一起使用?

1 个答案:

答案 0 :(得分:0)

QueryDSL尚不支持Morphia转换器。我创建了pull request来添加该功能。