Về cơ bản, câu hỏi của tôi cũng giống như thế này, nhưng đối với Java (JBoss) Hibernate: How can we order a column as int using hibernate criteria API?chuỗi Chuyển đổi sang int trong tiêu chí để Hibernate
Tôi muốn tạo ra một sự hạn chế đặt hàng với một dàn diễn viên để int từ một chuỗi cột. Một cái gì đó như
criteria.addOrder(Order.asc("cast(id as int)"));
Trường hợp ngoại lệ là "Không thể giải quyết thuộc tính: cast (id as int) của [Class]". Tôi đã thử cả hai diễn viên (như) và chuyển đổi (,) với int và số nguyên.
Giải pháp này hoạt động nếu bạn không muốn chỉ định tăng dần hoặc giảm dần, bởi vì tham số thứ hai được sử dụng trong phương thức toSqlString gốc. Nếu bạn ghi đè nó, bạn phải thêm asc hoặc desc vào cuối chuỗi của riêng bạn. – KarolR
KarolR, đó là lý do tại sao phương thức này được gọi là toSqlString. Bạn có thể viết đơn đặt hàng của riêng bạn như bạn muốn, nhưng bạn nên chỉ định toàn bộ chuỗi đơn đặt hàng. Và một nữa - luôn luôn có hướng cho trật tự, theo mặc định "asc" được sử dụng để "cast (id as int)" thực sự là "cast (id as int) asc", nhưng bạn có thể bỏ qua nó. Bạn có thể chỉ định thứ tự phức tạp, làm thế nào hibernate nên quyết định nơi để đặt hướng, được chỉ định là tham số? – yorlin
nó thực sự là rất hữu ích và bạn chỉ cần lưu tôi từ chi tiêu rất nhiều thời gian để cấu trúc lại mã tiêu chuẩn của tôi như sql chỉ cho vấn đề đặt hàng. +1 cho cả nhận xét và câu trả lời của bạn. – nihirus