我已经将现有的休眠映射集成到了grails应用程序中。动态查找器正常工作,外键也可以正常工作。但是我无法保存域类的新实例。
注意:域类中没有ID字段,所有主键都有自定义名称(例如carId,houseId)。由于这个ClassName.get(id)不起作用,要解决此问题,我正在使用动态查找器(例如findByCarId)。我认为这也是创建实例的问题。
我得到的异常是以下内容:
org.hibernate.MappingException: Unknown entity: xxx.xxx.DomainClassName
看来这是一个与实体名称参数有关的问题,现有的实体名称为DomainClassName,但是试图找到实体xxx.xxx.DomainCalssName(完全限定名称),但找不到该实体。
有什么建议吗?
最佳答案
您应该自定义id生成器及其映射到的列,如下所示:
static mapping = {
id column:'carId', type:'integer'
}
关于hibernate - ils。 GORM。创建新实例时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8133907/