2016-10-01 3 views
0

Я попытался интегрировать QueryDSL для Morphia в свой проект, но похоже, что QueryDSL игнорирует преобразователи.QueryDSL for Morphia не использует преобразователи

Morphia только запрос работает:

return createQuery().field("email").equal(email).get(); 

QueryDSL версия бросает исключение, потому что он не использует преобразователь:

return query(user).where(user.email.eq(email)).fetchOne(); 

org.bson.codecs.configuration.CodecConfigurationException: Может не найти кодек для класса org.example.Email

Преобразователи настраиваются с помощью аннотаций:

@Entity 
@Converters(EmailConverter.class) 
public class User implements Serializable { 

Это моя установка Maven:

 <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> 

...

 <plugin> 
     <groupId>com.mysema.maven</groupId> 
     <artifactId>apt-maven-plugin</artifactId> 
     <executions> 
      <execution> 
      <goals> 
       <goal>process</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>target/generated-sources/java</outputDirectory> 
       <processor>com.querydsl.apt.morphia.MorphiaAnnotationProcessor</processor> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 

Я пропускаю некоторые конфигурации? Или нельзя использовать конвертеры с QueryDSL?

+0

Я только заметил, что QueryDSL по-прежнему использует Morphia 0.105, которому 3 года. Это может вызвать некоторые проблемы. –

ответ

0

QueryDSL пока не поддерживает преобразователи Morphia. Я добавил pull request, чтобы добавить эту функцию.

Смежные вопросы