hibernate - ils。 GORM。创建新实例时出错

标签 hibernate grails gorm

我已经将现有的休眠映射集成到了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/

相关文章:

grails - 如何在jar包中激活域类?

java - 从 Hibernate L2C 中缓存的实体派生的缓存对象

java - 使用 Grails SortedSet 时无法访问空列表中的 first() 元素

multithreading - 如何创建一个具有多个线程的服务,这些线程都使用相同的 Hibernate session ?

grails - 获取HQL中的两个集合的交集

hibernate - Grails:无法将数据库状态与 session 同步

java - Hibernate架构迁移设置命名策略

java - 使用 ApplicationContext.xml 配置 hibernate 时出错

java - Hibernate 模式异常一对多

java - hibernate/GORM : collection was not processed by flush()