Ошибка связи не найдена с play и postgres (хотя таблица существует) - PullRequest
3 голосов
/ 19 июля 2011

У меня есть таблица с именем ETL_TABLES, которая находится в общедоступной схеме.В моем application.conf у меня есть следующая строка:

hibernate.default_schema=public

, что должно означать, что search_path для postgres установлен в публичную схему.

У меня есть класс Tables, с@Table(name="ETL_TABLES") аннотация.Но когда я пытаюсь получить доступ к классу сущностей, например, Tables.findAll();, то ошибка говорит, что отношение "public.etl_tables" не существует.

Таблица присутствует в публичной схеме postgres, так что яздесь делаешь неправильно?

Ответы [ 3 ]

1 голос
/ 22 июля 2011

убедитесь, что вы установили postgresql диалект:

jpa.dialect=org.hibernate.dialect.PostgreSQLDialect
0 голосов
/ 16 апреля 2015

Я столкнулся с этой проблемой и выяснил, что hibernate не любит отображаемые имена таблиц в сущности по умолчанию (я уверен, что где-то есть конфигурация, чтобы переопределить это!)Таким образом, он не может найти отношение «Статья», но найдет «статью» или «АРТИКУЛ».Надеюсь, что это помогает людям, которые приходят к этой теме

0 голосов
/ 25 июля 2011

В нашей конфигурации мне нужно написать следующее при создании сущности:

@Table(name="\"ETL_TABLES\"")

Поэтому я должен использовать \ "для представления двойных кавычек, необходимых при выборе.

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