5

我有以下(Grails)域对象:

class Country {

Integer id
char country_abbr
String country_name

static mapping = {
    version false
    id name: 'id'
    table 'country'
    id generator:'identity', column:'id'
}

static constraints = {
}}

'country table'中的'country_abbr'字段的类型为:character(2)。但是,每当我将域对象的数据类型(对于'country_abbr')设置为String时,初始化都会失败,并出现以下异常

 org.hibernate.HibernateException: Wrong column type in mydb.country for column country_abbr. Found: bpchar, expected: varchar(255)

另一方面,将此类型保留为 Java char只会检索第一个字符。有什么想法可以映射到这种类型吗?另外,bpchar到底是什么?

谢谢

4

1 回答 1

2

只是为了回答这个问题。解决方案是更改 country_abbr 映射:

country_abbr columnDefinition: 'char'

参考这里

于 2013-10-16T15:45:03.717 回答