Использование Hibernate для поиска определенного типа базы данных для данного типа Java - PullRequest
2 голосов
/ 10 января 2011

Есть ли класс, который я мог бы использовать в Hibernate, чтобы я мог передать класс, и он вернул бы имя соответствующего типа базы данных?

Например,

String type = HibernateTypeGod.getTypeName(String.class);

Hibernate определит указанный мной диалект и вернет мне VARCHAR2 в случае Oracle.

1 Ответ

2 голосов
/ 10 января 2011

Это не так просто.Все средства отображения находятся в классах Configuration, Table, Column и Dialect, поэтому вам потребуется какая-то действительная конфигурация для запроса этого из Hibernate.Но вы можете, например, использовать:

String s = myDialect.getTypeName(sqlType,length,precision,scale);

Конечно, вам нужно найти диалект и sqlType, но это не исправлено в Hibernate на основе классов, но все равно может быть настроено для каждого столбца, поэтомупо какой причине спрашивать по классу, а не по имени столбца?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...