2012-07-15 77 views
0

我有這個bean爲了在休眠

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(); 

在表中的數據採用ID從1到7 在列表中未返回數據命令將返回的ID(3 - 4 - 5 - 6 - 7 - 1 - 2)

如何解決它

回答

0

問題來自

@OneToMany(fetch = FetchType.EAGER, mappedBy = "advertisement", orphanRemoval = true, cascade = CascadeType.REMOVE) 
    @OrderBy("name") 
    private Set<test> test= new HashSet<test>(0); 

我改變取= FetchType.EAGER偷懶

+0

上設置簡單相加@OrderBy(「名稱」)解決我的問題。 – 2012-07-31 13:49:24