2011-06-29 3 views
3

étant donné que je ne trouve pas beaucoup de documentation sur HQL, ce que je fais souvent dans MYSQL et environ 75% du temps où cela fonctionne dans HQL, ce que je voudrais faire c'est activer le texte recherche par rapport à un champ particulier dans la base de données, en tenant compte des implications de performance. la documentation mysql indique que la structure de la table doit être MyiSam, et créer un index fulltext sur ce champ. et utiliser une instruction qui HQL ressemblerait à quelque chose comme ceci:MySQL Match Against in HQL

where match(product) against (:textinput) 

Est-ce que quelqu'un sait si cela est pris en charge ou si HQL fournit un moyen plus efficace de faire une telle chose? merci pour vos idées

Répondre

2

laissez-moi répondre à mes propres questions en fonction de mes propres conclusions. pour répondre à ma première question: si (match/contre) classe pris en charge dans HQL

la réponse est non ce n'est pas encore pris en charge.

d'autres façons d'y parvenir: cela peut être fait soit par la création d'une instance de requête SQL en appelant

session.createSQLQuery("") or by defining @NamedNativeQueries 

ont un oeil à l'exemple suivant de @NamedNativeQuery.

Questions connexes