2014-10-20 11 views
18

ho la HQL dove ho cercando di ottenere manufatti che non hanno alcuna classificazione (quando è attivo è 0)Nessun tipo di dati per il nodo: org.hibernate.hql.internal.ast.tree.IdentNode HQL

artifacts = Artifact.findAll("FROM Artifact WHERE id NOT IN (SELECT artifact_id FROM Classification WHERE active = 1) AND document_id = :docid",[docid:document.id], [max:limit, offset:startIndex]); 

Ogni volta che corro ho l'errore

java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode 
\-[IDENT] IdentNode: 'artifact_id' {originalText=artifact_id} 

Classificaiton definizione:

class Classification { 

    public static final String USER_DEFAULT = "USER" 
    public static final String USER_SYSTEM = "SYSTEM" 

    TaxonomyNode node 
    String artifactId 
    Boolean active 
    String createdBy 
    String updatedBy 
    Date dateCreated 
    Date lastUpdated 


    static constraints = { 
     node nullable:false, blank:false 
     artifactId nullable:false, blank:false, unique: ['node'] 
     active nullable: false, blank: false 
     createdBy nullable:false, blank:false 
     updatedBy nullable:false, blank:false 
    } 

    static mapping = { 
     id generator:'sequence', params:[sequence:'classification_seq'] 
     artifactId index: 'classify_by_artifact_node' 
     node index: 'classify_by_artifact_node' 
     active defaultValue: "1" 
    } 
} 

è possibile fare riferimento a problemi precedenti che affronto d per capire cosa esattamente sto cercando di fare Quest 1 e Quest 2

+0

Sarebbe utile vedere la definizione di classificazione – Krever

risposta

37

Le query SQL utilizzano i nomi di colonna mentre le query HQL utilizzano le proprietà di classe. Stai selezionando artifact_id dalla classificazione, ma la classe di classificazione non ha una proprietà chiamata 'artifact_id'. Per risolverlo, usa la proprietà della classe nel tuo HQL.

SELECT artifactId FROM Classification 
+0

L'ho fatto prima che l'avessi visto e funzionasse. Grazie comunque!!! :) – krs8785

Problemi correlati