【发布时间】:2011-11-01 11:59:27
【问题描述】:
我有一个看起来像这样的模型:
@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 (?, ?)
有什么办法可以强制吗?
【问题讨论】:
-
你为什么在乎?顺序无关紧要。
-
如果 ABC 列是 CLOB,那么它在 Oracle 中是这样的,那么它必须是最后一个。
-
你有什么参考资料来支持这个说法吗? Hibernate 似乎与 clobs 和 oracle 一起工作得很好。例如,请参阅stackoverflow.com/questions/1644559/…。不是在表中(而不是在插入语句中)CLOB 必须在最后一个位置吗?
-
这描述了我完全相同的问题:odi.ch/weblog/posting.php?posting=496
-
您是否尝试过在 Model 类上或在 ID 字段的覆盖 getter 上使用 AttributeOverride?span>
标签: hibernate