我的模型看起来像这样:
@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;
}
无论我尝试什么,我似乎都无法在生成的INSERT或UPDATE sql查询中移动ID列的位置。 ID总是最后一列:
insert into MODEL (ABC, ID) values (?, ?)
有没有办法强迫它呢?
答案 0 :(得分:0)
这是一个已知的Hibernate限制;有关详细信息,请参阅this thread。
由于Hibernate将按字母顺序排序生成的SQL字段,为什么不更改CLOB字段的名称以确保它是最后的,例如通过预先挂起“zzz”使其变为zzzAbc
?