Mam następujący (Grails) obiektu domeny:PostgreSQL Java typy danych (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' pola w 'kraj tabeli' ma typ: charakter (2). Jednak, gdy jestem ustawienie typu danych obiektu domeny (dla „country_abbr”) do String, inicjalizacji się niepowodzeniem z następującym wyjątkiem
org.hibernate.HibernateException: Wrong column type in mydb.country for column country_abbr. Found: bpchar, expected: varchar(255)
Z drugiej strony, pozostawiając ten typ jako Java char pobiera tylko pierwszy znak. Jakieś pomysły, jak mogę odwzorować tego typu? Co dokładnie jest bpchar?
Dzięki
Uwaga: nie trzeba dodawać atrybutu identyfikatora, jest on wykonywany automatycznie przez Grails. Konwencją jest użycie camelcase w twoich atrybutach, Grails zajmie się konwersją na podkreślniki do pobierania danych. Ciąg countryName zostanie przetłumaczony na nazwa kraju w querys. –
[Wydaje się, że problem mapowania Hibernuj] (http://forum.spring.io/forum/spring-projects/data/33043-mapping-error-w-postgres). Czy mógłbyś spróbować char [] dla countryAbbr? –
@ SérgioMichels Nadal nie działa z char []; dzięki za inne wskazówki :) – Dan