在我的SessionBean的每个请求中,我需要接收最后添加的JPA实体实例,其PK用@Id @GeneratedValue(strategy=GenerationType.AUTO) Long id
声明。
我目前的做法是在查询中添加ORDER BY e.id DESC
。不幸的是,我不确定生成的ID是否严格增加后续持久化实体,我似乎无法找到有关该主题的任何文档。任何人都可以帮我吗?
答案 0 :(得分:1)
JPA没有指定id生成的顺序,因此提供者可以自由发出非顺序ID。
如果您想依赖实体广告订单,请考虑向您的实体添加时间createdAt
或modifiedAt
字段。一些持久性框架使用这种方法,例如, ActiveRecord
您可以使用基本实体类中的回调将此值的生成留给提供程序:
@PrePersist
void makeCreationTimestamp() {
createdAt = System.currentTimeMillis();
}