Столбец Hibernate ID всегда последний в сгенерированном SQL - PullRequest
1 голос
/ 23 августа 2011

У меня есть модель, которая выглядит так:

@MappedSuperclass
@AccessType("field")
public abstract class BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "generator")
    @Column(name = "ID")
    private Long id;
}

@Entity
@Table(name = "MODEL")
@AccessType("field")
public class Model extends BaseEntity {
    @Column(name="ABC")
    private String abc;
}

Независимо от того, что я пытаюсь, я не могу переместить расположение столбца ID в сгенерированных SQL-запросах INSERT или UPDATE. Идентификатор всегда заканчивается последним столбцом:

insert into MODEL (ABC, ID) values (?, ?)

Есть ли способ заставить его иначе?

1 Ответ

0 голосов
/ 23 августа 2011

Это известное ограничение гибернации; Подробнее см. в этой теме .

Поскольку Hibernate упорядочит сгенерированные поля SQL в алфавитном порядке, почему бы не изменить имя поля CLOB, чтобы оно было последним, например, предварительно ожидая его с помощью zzz, чтобы оно стало zzzAbc?

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