hibernate3-maven-plugin цель hbm2ddl игнорирует определения последовательностей и вместо этого генерирует hibernate_sequence по умолчанию

У меня есть аннотированный объект JPA с идентификатором, определенным как автоматически созданное свойство с использованием последовательностей. Но когда я пытаюсь сгенерировать DDL с помощью hibernate3-maven-plugin, мои определенные последовательности не генерируются, вместо этого существует hibernate_sequence.

@Entity
@Table(name = "DUMMY")
@SequenceGenerator(name = "DUMMY_SEQ")
public class Dummy {
    private Long pk;

    @Id
    @Column(name = "PK", nullable = false )
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="DUMMY_SEQ")
    public Long getPk() {
        return pk;
    }

    public void setPk(Long pk) {
        this.pk = pk;
    }
}

Я жду чего-то вроде:

create sequence DUMMY_SEQ;

в сгенерированном DDL. Что я делаю не так? версия hibernate3-maven-plugin - 2.2 hibernate-entitymanager версии 3.4.0.GA


person alebu    schedule 31.07.2012    source источник


Ответы (1)


Вы не определили имя последовательности базы данных. Атрибут name в SequenceGenerator - это только имя самого SequenceGenerator, а не имя последовательности в базе данных. Результатом является то, что поставщик по умолчанию, в этом случае используется * hibernate_sequence *. Чтобы изменить имя последовательности, используйте sequenceName атрибут:

@SequenceGenerator(name = "DUMMY_SEQ", sequenceName="DUMMY_SEQ")
person Mikko Maunu    schedule 31.07.2012