У меня есть следующий (Grails) домен объект:PostgreSQL на Java Типов данных (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_abbr' поля в 'страны таблицы' имеет типа: характера (2). Тем не менее, всякий раз, когда я устанавливаю тип данных объекта домена (для «country_abbr») до строк, инициализация происходит сбой со следующим исключением
org.hibernate.HibernateException: Wrong column type in mydb.country for column country_abbr. Found: bpchar, expected: varchar(255)
С другой стороны, в результате чего этого типа как Java char получит только первый символ. Любые идеи, как я могу сопоставить этот тип? Кроме того, что такое bpchar?
Thanks
Просто примечание: вам не нужно добавлять атрибут id, это делается автоматически Grails. Кроме того, соглашение заключается в использовании camelcase в ваших атрибутах, Grails обработает преобразование в подчеркивания для извлечения данных. Строка countryName будет переводиться в country_name в запросах. –
[Кажется, проблема отображения Hibernate] (http://forum.spring.io/forum/spring-projects/data/33043-mapping-error-with-postgres). Не могли бы вы попробовать char [] для countryAbbr? –
@ SérgioMichels Он по-прежнему не работает с char []; спасибо за другие советы :) – Dan