2009-02-12 34 views
14

Tôi đã đăng một question vài ngày trước về Truy vấn trên các bộ sưu tập với API Tiêu chí và sau tất cả các câu trả lời tôi thấy rằng điều tôi đang cố gắng không thể thực hiện với Tiêu chí, có lỗi trong tình huống nhibernate và trong hibernateCó cách nào dễ dàng để chuyển đổi tiêu chí thành HQL?

Tôi đã sử dụng DetachedCriteria để có được tất cả các tiêu chí cùng nhau và danh sách thực sự dài. Các vòng tròn cuối cùng của chuỗi là buggy tiêu chí vì vậy tôi cần phải thay đổi tất cả các tiêu chí tách biệt của tôi để HQL.

Vì vậy, câu hỏi của tôi là có bất kỳ công cụ hoặc cách nào để chuyển đổi Tiêu chí thành HQL.

hoặc

Có cách nào để có Tiêu chí và Hql hoạt động cùng nhau không?

An Article about the bug in nhibernate

Cảm ơn là trước

Trả lời

3

tôi đã gửi một email đến Ayende Rahien về vấn đề này và cảm ơn anh cho replying.He nói rằng

câu trả lời là không có công cụ như vậy, nhưng việc chuyển đổi thường khá dễ dàng.

+3

Câu trả lời tuyệt vời. Một ví dụ sẽ tốt đẹp ... – mark

-1

Phiên bản nào của nHibernate bạn đang sử dụng? Tôi nghĩ rằng bằng cách sử dụng phiên bản mới nhất có thể giải quyết vấn đề của bạn như là 2.0 GA có rất nhiều thay đổi phá vỡ.

+0

Tôi đang sử dụng 2.0.1 GA, nó là mới nhất tôi đoán –

3

reposting từ các diễn đàn ngủ đông ... không chắc chắn nếu nó có liên quan đến nhibernate hoặc cập nhật


từ: max Hibernate Đội

đăng: Sun Ngày 24 tháng 12 năm 2006 7:12 sáng

nó là một văn hóa dân gian rất bướng bỉnh iteria dịch sang HQL. Tiêu chí đi trực tiếp vào SQL, nhưng không có api công khai trực tiếp để có được nó theo chương trình.

...

dịch hai lần không phải là rất hiệu quả;)

http://forum.hibernate.org/viewtopic.php?t=968990&view=next&sid=50454aa6cec8d482198117fbd398ca70

0

Tôi đã sửa đổi API tiêu chí Hibernate để tạo truy vấn JPQL bằng cách cố gắng duy trì giao diện hầu như tương tự. Tên dự án của tôi là Criteria2JPQL tại địa chỉ:

https://sourceforge.net/projects/criteria2jpql/

Kể từ bản dịch này là một đơn giản hoạt động trong bộ nhớ mà tạo ra một truy vấn JPQL tiêu chuẩn, không có một vấn đề hiệu suất đáng kể. Mặt khác, ý tưởng của dự án này có nguồn gốc từ các truy vấn sql nguyên gốc có hiệu suất thấp của Hibernate Critera bao gồm nhiều kết nối không cần thiết. Chúng tôi đã có kinh nghiệm sử dụng Criteria2JPQL trong dự án của chúng tôi tại công ty của tôi và quan sát những tham gia không cần thiết đó biến mất.

Các vấn đề liên quan