1

我正在研究 Grails GORM。我有一个基域类,如下所示:

abstract class BaseDomain {
String createdBy
String updatedBy

static constraints = {
}
}

和扩展类如下:

class Customer extends BaseDomain {

String name
String address1
String address2
String city
String state
String zip
String phone    

static constraints = {

}

}

当我执行 run-app 时,会创建一个名为:BASE_DOMAIN 的表

我添加了以下内容来更改表名:

static mapping = {
  table 'customer_table' 
}

它抛出以下异常:

    Caused by: org.springframework.beans.factory.BeanCreationException: Error
 creating bean with name '(inner bean)#2': Invocation of init method
 failed; nested exception is org.hibernate.DuplicateMappingException:
 Duplicate class/entity mapping com.samples.Customer
        ... 3 more
     Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.samples.Customer

谁能让我知道如何解决这个问题。

4

1 回答 1

1

BASE_DOMAIN由于 BaseDomain 抽象类而不是 Customer 类,正在创建该表。

您可能想将抽象类移动到src/groovy,然后它不会尝试为它创建表。

我认为这与Grails 2.0 中引入的更改有关,在以前的 Grails 版本中,抽象类没有持久化抽象类。

于 2013-08-19T11:55:51.740 回答