Tôi đang sử dụng mới Room Persistance Library phát hành tại năm này Google I/O và nó làm việc tuyệt vời cho đến nay, nhưng bằng cách nào đó nó không thể ra lệnh cho các kết quả với UNICODE hoặc cục . Điều duy nhất làm việc là NOCASE đó là vô ích trong trường hợp của tôi.Phòng kiên trì Thư viện Query đối chiếu cục bộ không làm việc
Có cách nào để đạt được chức năng này chưa?
@Dao
public interface ContactDao {
@Query("SELECT * FROM contact ORDER BY lastName COLLATE LOCALIZED")
Flowable<List<Contact>> getAll();
}
Nếu tôi xây dựng các truy vấn như trên tôi nhận được một lỗi:
Error:(21, 29) error: There is a problem with the query: [SQLITE_ERROR]
SQL error or missing database (no such collation sequence: LOCALIZED)
Nếu tôi hiểu đúng, sử dụng 'đối chiếu LOCALIZED', bạn cần phải tuyên bố rằng như là một phần của một ràng buộc cột trong câu lệnh 'CREATE TABLE'. Có vẻ như bạn có thể sử dụng 'Migration' để viết câu lệnh' CREATE TABLE' của riêng bạn, mặc dù nó không rõ ràng với tôi cách tạo một 'Migration' cho việc tạo bảng ban đầu (so với nâng cấp). Tôi không biết nếu bạn là người nộp [vấn đề này] (https://issuetracker.google.com/issues/62007004), nhưng tôi sẽ theo dõi nó. – CommonsWare
Xin chào, bạn đã sửa nó chưa? –
Không thực sự ... tại thời điểm này tôi chỉ cần sắp xếp danh sách trước khi tôi sử dụng. 'Collections.sort (nameOfYourList) {o1, o2 -> Collator.getInstance (Locale.GERMAN) .compare (o1.lastName, o2.lastName)}' – denwehrle