Java 冬眠秩序
我有这个豆子Java 冬眠秩序,java,hibernate,Java,Hibernate,我有这个豆子 public class Advertisement{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "pkid", nullable = false) @Basic(fetch = FetchType.EAGER) private long adPkId; @Size(max = 50, message = "{long.value}"
public class Advertisement{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "pkid", nullable = false)
@Basic(fetch = FetchType.EAGER)
private long adPkId;
@Size(max = 50, message = "{long.value}")
@Column(name = "Name", unique = true, nullable = false, length = 50)
private String name;
@Size(max = 255, message = "{long.value}")
@Column(name = "Description", length = 255)
private String description;
}
我想按id返回所有数据顺序
getCurrentSession().createCriteria(Advertisement.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.addOrder(Order.asc("adPkId")).list();
表中的数据采用从1到7的ID
列表中返回的数据不是按返回ID的顺序返回的(3-4-5-6-7-1-2)
如何解决这个问题这个问题来自
@OneToMany(fetch = FetchType.EAGER, mappedBy = "advertisement", orphanRemoval = true, cascade = CascadeType.REMOVE)
@OrderBy("name")
private Set<test> test= new HashSet<test>(0);
@OneToMany(fetch=FetchType.EAGER,mappedBy=“advision”,orphanRemoving=true,cascade=CascadeType.REMOVE)
@订购人(“姓名”)
私有集测试=新哈希集(0);
我更改fetch=FetchType.eagent to lazy只需在集合中添加@OrderBy(“name”)即可解决我的问题。