Tôi có danh sách danh mục. Tôi cần một danh sách các loại bằng cách loại trừ 2,3 hàng. Chúng ta có thể đạt được thông qua hibernate bằng cách sử dụng tiêu chí và hạn chế?Làm thế nào để đạt được "không ở" bằng cách sử dụng Hạn chế và tiêu chí trong Hibernate?
38
A
Trả lời
83
Câu hỏi của bạn có phần không rõ ràng. Giả sử "Thể loại" là một thực thể gốc và "2,3" là id (hoặc giá trị của một số tài sản của thể loại "), bạn có thể loại trừ chúng bằng cách sử dụng sau đây:.
Criteria criteria = ...; // obtain criteria from somewhere, like session.createCriteria()
criteria.add(
Restrictions.not(
// replace "id" below with property name, depending on what you're filtering against
Restrictions.in("id", new long[] {2, 3})
)
);
Cùng thể được thực hiện với DetachedCriteria
1
Session session=(Session) getEntityManager().getDelegate();
Criteria criteria=session.createCriteria(RoomMaster.class);
//restriction used or inner restriction ...
criteria.add(Restrictions.not(Restrictions.in("roomNumber",new String[] { "GA8", "GA7"})));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<RoomMaster> roomMasters=criteria.list();
Nó hoạt động ... Cảm ơn ChssPly76 .. – Shashi