Java 无法实例化RegionFactory[org.hibernate.cache.ehcache.EhCacheRegionFactory]
我的域类如下。主键Id是serviceProviderId和SportId两个字段的组合(分别存在于另一个表serviceProvider和Sports中)。当我启动grails应用程序时,我得到以下异常 org.hibernate.MappingException:实体映射中的重复列:com.zonalde.fields详细列:服务提供者id(应使用insert=“false”update=“false”映射) 我在这里可能遗漏了什么。我已经准备好了表,并使用 请帮忙Java 无法实例化RegionFactory[org.hibernate.cache.ehcache.EhCacheRegionFactory],java,hibernate,grails,Java,Hibernate,Grails,我的域类如下。主键Id是serviceProviderId和SportId两个字段的组合(分别存在于另一个表serviceProvider和Sports中)。当我启动grails应用程序时,我得到以下异常 org.hibernate.MappingException:实体映射中的重复列:com.zonalde.fields详细列:服务提供者id(应使用insert=“false”update=“false”映射) 我在这里可能遗漏了什么。我已经准备好了表,并使用 请帮忙 class Fields
class FieldsDetails implements Serializable {
Integer serviceProviderId
Integer sportsId
String isPaynPlay
Boolean isActive
Sports sports
ServiceProvider serviceProvider
int hashCode() {
def builder = new HashCodeBuilder()
builder.append serviceProviderId
builder.append sportsId
builder.toHashCode()
}
boolean equals(other) {
if (other == null) return false
def builder = new EqualsBuilder()
builder.append serviceProviderId, other.serviceProviderId
builder.append sportsId, other.sportsId
builder.isEquals()
}
static belongsTo = [ServiceProvider, Sports]
static mapping = {
id composite: ["serviceProviderId", "sportsId"]
version false
}
static constraints = {
isPaynPlay nullable: true, maxSize: 1
isActive nullable: true
}
}
您需要将映射更新为:
static mapping = {
id composite: ["serviceProviderId", "sportsId"]
version false
serviceProvider column: '`service_provider_id`', insertable: false, updateable: false
sports column: '`sports_id`', insertable: false, updateable: false
}
您可以参考grails文档以了解更多详细信息谢谢@Rahul,但是在您的更改之后,我发现以下错误将启动grailsapp@SandeepPoonia我已经更新了问题描述中的代码和错误。现在它以不同的错误失败了,很难从一艘班轮上确定确切的问题。您能否添加更多描述,即异常logs@VinodJayachandran您遇到的新错误是什么?