我有一个具有以下字段的实体:
@ManyToMany(cascade = { CascadeType.ALL }, targetEntity = Comment.class)
@JoinTable(name = "program_to_comment")
@OrderBy("position")
private Set<Comment> comments = new HashSet<Comment>();
但我有一个问题,每当我坚持使用它时:
Program p = entityManager.persist(entity);
该字段带有按对象中排序的对象排序entity
。
假设entity
对象配置如下:Program(comments:[Comment(position:15), Comment(position:10)], ...)
,持久化实体(entityManager.persist
),它将评论和程序实体本身存储到数据库中。但是persist方法调用的结果实体是一个对象,如下所示:Program(comments:[Comment(position:15), Comment(position:10)], ...)
,以与persist方法相同的顺序。
从我的角度来看,结果实体应该按照指定的@OrderBy 规则呈现值,还是我遗漏了什么?
附加信息:
- JPA2
- 休眠 4.2.0.Final