2017-03-09 1 views
0

Je suis sûr que je manque l'évidence flagrante, mais je ne peux pas comprendre ce que les types "Q" -prefixed sont censés être, ou comment les résoudre. Fondamentalement, partout dans la documentation Java, les classes QSomething sont utilisées, mais je ne trouve pas d'explication sur ce qu'elles sont vraiment, comment fonctionne le préfixe, ou comment elles sont résolues. Même au tout début, here, QCategory c = QCategory.category; est utilisé sans aucun pointeur sur la façon dont ces types Q-préfixés sont résolus. De manière prévisible, lorsque j'essaie de créer un objet selon cette logique de syntaxe, j'obtiens "[abc] ne peut pas être résolu en un type". Donc, si quelqu'un pouvait faire la lumière sur ce truc Qsometype "mystique", je serais très reconnaissant.RavenDB alias de requête en Java

Edit: Je ne utilise actuellement Maven pour ma configuration Eclipse (le tutoriel mentionne Maven pom) Est-ce impossible sans utiliser Maven? J'ai étudié un peu plus et je comprends que les classes Q sont générées automatiquement par QueryDSL et Maven. Mon type de projet dans Eclipse est un web dynamique, et je ne suis pas sûr que je veuille/devrais le convertir en projet Maven. En fait, je ne suis même pas sûr que cela résoudrait mon problème.

Merci

Répondre

0

Ce sont des classes générées automatiquement, si vous configurez en utilisant Maven, il fonctionne. L'entrée de configuration pour ceci est <processor>net.ravendb.querydsl.RavenDBAnnotationProcessor</processor>

Ceci utilise QueryDSL pour générer les classes de requêtes.

L'explication dans la documentation est:

S'il vous plaît noter que les plugins section contient net.ravendb.querydsl.RavenDBAnnotationProcessor. Comme Java n'a pas LINQ, toutes les définitions d'index/transformateurs doivent être créées en utilisant les chaînes . Vous pouvez également utiliser Studio pour créer des index/transformateurs , mais vous pouvez également utiliser QueryDSL pour l'interrogation fortement typée . Pour utiliser QueryDSL, vous devez marquer vos entités avec l'annotation @QueryEntity et activer la génération de code dans pom.xml.

Vous pouvez générer manuellement, voir http://www.querydsl.com/static/querydsl/2.7.3/reference/html/ch03s02.html

+0

Ayende, merci pour votre aide! J'ai finalement décidé de "mavéniser" mon projet, et ça fonctionne vraiment. J'étais un peu réticent à changer, craignant que quelque chose de terrible puisse arriver au projet une fois qu'Eclipse l'a transformé automagiquement en un projet Maven. Ce n'est pas le cas. –