Hibernate org.hibernate.HibernateException: Wrong column type после внесения изменений в POJO

 
 
 
Сообщения:8
В модели было поле weight с типом double. Поменял на Integer и соответственно поменял в БД (postgresql)

private Integer weight;
 
@Positive(message = "Вес должен быть положительным числом в кг. weight")
@Column(name = "weight")
public Integer getWeight() {
    return weight;
}
 
public void setWeight(Integer weight) {
    this.weight = weight;
}

Теперь получаю exception

org.hibernate.HibernateException: Wrong column type in public.ers_born_info for column weight. Found: int4, expected: float8
т.е. hibernate определяет поле как double. Как бороться с подобным?

pgadmin генерирует следующий create для таблицы
CREATE TABLE public.ers_born_info
(
    id BIGINT NOT NULL DEFAULT NEXTVAL('ers_child_id_seq'::regclass),
    created_date BIGINT,
    created_date_tz BIGINT,
    created_by BIGINT,
    last_modified_date BIGINT,
    last_modified_date_tz BIGINT,
    last_modified_user BIGINT,
    is_deleted INTEGER,
    deleted_by BIGINT,
    deleted_date BIGINT,
    deleted_date_tz BIGINT,
    gender INTEGER NOT NULL,
    height INTEGER NOT NULL,
    weight INTEGER NOT NULL,
    death_reason CHARACTER VARYING(100) COLLATE pg_catalog."default",
    ticket2_id BIGINT,
    CONSTRAINT ers_child_pkey PRIMARY KEY (id),
    CONSTRAINT ers_child_ticket2requestid_fkey FOREIGN KEY (ticket2_id)
        REFERENCES public.ers_ticket2 (id) MATCH SIMPLE
        ON UPDATE NO ACTION
        ON DELETE NO ACTION
        NOT VALID
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;
 
ALTER TABLE public.ers_born_info
    OWNER TO admin;
 
 
Сообщения:8
Ради интереса попробовал изменить имя поля @Column(name = "weight1") и соответственно изменил в бд, но hibernate все равно ищет поле по старому имени org.hibernate.HibernateException: Missing column: weight in public.ers_born_info
 
 
Сообщения:9895
Дак может у тебя проект не перекомпилируется? Попробуй удалить скомпилированные классы.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет