Будьте в спящем режиме параметр схемы не работает в @SequenceGenerator аннотации

У меня есть следующий код:

@Entity
@Table(name = "my_table", schema = "my_schema")
@SequenceGenerator(name = "my_table_id_seq", sequenceName = "my_table_id_seq", 
                   schema = "my_schema")
public class MyClass {
    @Id
    @GeneratedValue(generator = "my_table_id_seq", 
                    strategy = GenerationType.SEQUENCE)
    private int id;

}

База данных: Postgresql 8.4, Будьте в спящем режиме аннотации, С 3.5.0 финалом.

При сохранении объекта MyClass это генерирует следующий SQL-запрос:

select nextval('my_table_id_seq')

Таким образом, нет никакого префикса схемы, и поэтому последовательность не может быть найдена. Когда я пишу sequenceName как

sequenceName = "my_schema.my_table_id_seq"

все работает.

У меня есть недоразумения для значения параметра схемы, или действительно ли это - ошибка? Какие-либо идеи, как сделать работу параметра схемы?

15
задан Pascal Thivent 15 October 2010 в 07:50
поделиться

2 ответа

Это похоже на ошибку: провайдер JPA должен соблюдать "новые" (с Java Persistence 2.0) schema и catalog атрибуты @SequenceGenerator аннотации. Предлагаю поднять вопрос на Jira (проекты аннотаций и менеджера сущностей теперь относятся к core), не смог найти ни одного существующего.

1
ответ дан 1 December 2019 в 04:52
поделиться

Хммм, я мало работаю с внутренними компонентами гибернации, но здесь есть некоторая информация:

https: //forum.hibernate .org / viewtopic.php? p = 2406761

Вы также можете установить схему по умолчанию для пользователя, подключающегося к PostgreSQL через ALTER USER ... SET SEARCH_PATH

0
ответ дан 1 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: