Grails.弄脏.创建新实例出错



我已经将现有的hibernate映射集成到grails应用程序中。动态查找器工作正常,外键解析正常。但是我不能保存域类的新实例。

注意:我没有一个id字段在我的域类,所有主键有自定义名称(例如carId, houseId)。因为这个ClassName.get(id)不工作,为了解决这个问题,我使用动态查找器(例如findByCarId)。我认为这也是创建实例的问题。我得到的异常如下:

org.hibernate.MappingException: Unknown entity: xxx.xxx.DomainClassName

似乎是与entity-name参数有关的问题,现有的entity-name是DomainClassName,但grails试图找到实体xxx.xxx.DomainCalssName(完全限定名),但没有找到。

有什么建议吗

您似乎对hbm.xml映射的命名有问题,这与grails没有特别的关系。您应该检查这些映射中的entity-name属性。

您应该自定义id生成器及其映射到的列,如下所示:

static mapping = {
   id column:'carId', type:'integer'
}

最新更新