Как отключить проверку Hibernate на несоответствие типа внешнего ключа?

Я работаю с существующей базой данных. у меня есть

Table A:
    b_id    int --> references B.id.

Table B:
    id      bigint

Когда я пытаюсь сделать сопоставление ManyToOne в классе A следующим образом:

Class A {
    @Id
    int id;

    @ManyToOne
    @JoinColumn(name="b_id")
    B b;
}

Я получил следующую ошибку: Найдено: int, ожидалось: bigint. Поэтому я предполагаю, что hibernate предполагает, что столбец A.b_id должен иметь тот же тип, что и B.id.

hbm2ddl настроен на проверку, потому что я не могу изменить базу данных.

Я наткнулся на этот ответ, но он не работает для меня. Поддерживает ли JPA @OneToMany сопоставление между сущностями без ограничения внешнего ключа в базе данных?

Спасибо!


person xing    schedule 16.12.2015    source источник


Ответы (1)


Ага, columnDefinition = "int" решает проблему :)

Class A {
    @Id
    int id;

    @ManyToOne
    @JoinColumn(name="b_id", columnDefinition = "int")
    B b;
}
person xing    schedule 16.12.2015