Будьте в спящем режиме аннотация для PostgreSQL последовательный тип

У меня есть таблица PostgreSQL, в которой у меня есть столбец inv_seq объявленный как serial.

У меня есть Быть в спящем режиме класс компонента для отображения таблицы. Все другие столбцы прочитаны правильно кроме этого столбца. Вот объявление в Быть в спящем режиме классе компонента:

....
  ....
        @GeneratedValue(strategy=javax.persistence.GenerationType.AUTO)
        @Column(name = "inv_seq")
        public Integer getInvoiceSeq() {
            return invoiceSeq;
        }

         public void setInvoiceSeq(Integer invoiceSeq) {
        this.invoiceSeq = invoiceSeq;
    }
  ....
....

Объявление корректно?
Я могу видеть порядковые номера, сгенерированные столбцом в базе данных, но я не могу получить доступ к ним в классе Java.

Помогите.

7
задан Erwin Brandstetter 14 January 2012 в 06:46
поделиться

1 ответ

В зависимости от вашей ситуации это может не работать. Открыта ошибка против Hibernate, которая документирует это поведение.

http://opensource.atlassian.com/projects/ibernate/browjects/hhh-4159

Если вы открыты для использования файла сопоставления вместо аннотаций, я смог воссоздать проблему (NULL » столбцы, которые не являются частью основного ключа). Использование «сгенерированного» атрибута элемента свойств вызывает Hibernate для перечетия строки после вставки, чтобы забрать сгенерированный значок столбца:

<class name="Ticket" table="ticket_t">
    <id name="id" column="ticket_id">
        <generator class="identity"/>
    </id>
    <property name="customerName" column="customer_name"/>
    <property name="sequence" column="sequence" generated="always"/>
</class>

0
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

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