Grails 如何解决hibernate中节点错误的无数据类型

Grails 如何解决hibernate中节点错误的无数据类型,grails,Grails,我有表vehicle,我写了如下查询 Vehicle.ExecuteQuery从车辆中选择音响系统 但是我犯了个错误 错误groovy.grails.web.errors.GrailExceptionResolver节点没有数据类型:org.hibernate.hql.ast.tree.IdentNode -[IDENT]IdentNode:'audio_system'{originalText=audio_system} java.lang.IllegalStateException:节点没有

我有表vehicle,我写了如下查询

Vehicle.ExecuteQuery从车辆中选择音响系统 但是我犯了个错误

错误groovy.grails.web.errors.GrailExceptionResolver节点没有数据类型:org.hibernate.hql.ast.tree.IdentNode -[IDENT]IdentNode:'audio_system'{originalText=audio_system}

java.lang.IllegalStateException:节点没有数据类型:org.hibernate.hql.ast.tree.IdentNode -[IDENT]IdentNode:'audio_system'{originalText=audio_system}

车辆类别的源代码如下所示

class Vehicle {


    String vehicleSticker
    String regNumber //plate
    String chasisNumber
    String engineNumber
    Integer yearOfManufacture
    Date purchasedOn

    Boolean audioSystem
    Boolean videoSystem
    Boolean mobileCharger
    Boolean laptopCharger

    //Vehicle compliance
    Date pucExpiry
    Date pucTestingOn
    Date taxTokenIssueDate
    Date taxTokenExpiryDate
    Date insuranceIssueDate
    Date insuranceExpiryDate
    Date permitIssueDate
    Date permitExpiryDate
    Date fitnessCertificateIssueDate
    Date fitnessCertificateExpiryDate
    Double odoReadingWhenServiceDone
    Double dueOddReading

    VendorRole vendor

    VehicleType vehicleType
    //RegistrationCertificate registrationCertificate

    static mapping = {
        //registrationCertificate(cascade:'all')

    }

    static constraints = {
        yearOfManufacture(nullable:true)
        regNumber(nullable:false,unique: true)
        chasisNumber(blank:true)
        engineNumber(blank:true)
        purchasedOn(nullable:true)
        taxTokenIssueDate(nullable:true)
        taxTokenExpiryDate(nullable:true)

        insuranceIssueDate(nullable:true)
        insuranceExpiryDate(nullable:true)
        permitIssueDate(nullable:true)
        permitExpiryDate(nullable:true)
        fitnessCertificateIssueDate(nullable:true)
        fitnessCertificateExpiryDate(nullable:true)
        odoReadingWhenServiceDone(nullable:true)

        dueOddReading(nullable:true)
        pucExpiry(nullable:true)
        pucTestingOn(nullable:true)

        vendor(nullable:true)


    }

    public String toString() {
        "${vehicleSticker} ${regNumber?'| '+ regNumber:''}"
    }
那应该是

Vehicle.executeQuery("select audioSystem from Vehicle ")
这是一个HQL查询,您使用类名和字段名,而不是表名和列名。

这应该是

Vehicle.executeQuery("select audioSystem from Vehicle ")

这是一个HQL查询,使用类名和字段名,不是表名和列名。

确保您在实体中有该名称指定的字段

确保您在实体中有该名称指定的字段

您可以提供客户和车辆的完整来源吗?即使我尝试获取id以外的任何字段,我也会收到错误。您可以提供客户和车辆的完整来源吗?即使当我试图获取id以外的任何字段时,我会得到一个错误