Использование инструментов гибернации для обратного проектирования pojos из Postgres
-
18-09-2019 - |
Вопрос
Я пытаюсь перепроектировать pojos (используя плагин hibernate tools v3.2.4x в eclipse 3.4.2) из базы данных, которую я создал в Postgres, но мои таблицы игнорируются.Это работает, если я указываю 'public' в качестве значения для свойства 'hibernate.default_schema' в моем hibernate.cfg.xml файле, но если я пытаюсь указать другую схему, то ничего не генерируется.
Я попытался изменить регистр (т. е.нижний, верхний, верблюжий), но я все равно получаю тот же результат.Вот мой файл hibernate.cfg.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="MyFactory">
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.password">[mypassword]</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/testgis</property>
<property name="hibernate.connection.username">postgres</property>
<property name="hibernate.default_schema">locatimus</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
</session-factory>
</hibernate-configuration>
Вот фотография моей настройки в pgAdmin III - http://twitpic.com/snj8i
Я почти уверен, что делаю (или упускаю) что-то простое.Как я уже сказал, если я изменю схему на общедоступную, то будут сгенерированы pojo из всех таблиц в этой схеме!
Кто-нибудь может помочь?
Большое спасибо, Дамиан
Решение
Хорошо, я нашел проблему.Похоже, что имена таблиц должны быть в нижнем регистре, иначе hibernate tools их не видит.Я не знаю, связано ли это с ошибкой диалекта PostgresSQL или с самим Hibernate.
Другие советы
Есть ли у пользователя postgres права доступа к таблицам в схеме locatimus?