2013-08-31 49 views
6

Đây là truy vấn HQL của tôi, nhưng nó không hoạt động và đang ném một lỗi.Làm cách nào để thực hiện việc tham gia trái trong Ngôn ngữ truy vấn Hibernate?

HQL truy vấn:

SELECT 
    * 
FROM 
    TABLEA A 
LEFT JOIN 
    A.TABLEB B 
WHERE 
    A.COLUMNNAME = B.COLUMNAME 

và nó gây ra lỗi này:

org.hibernate.QueryException: 
This Query caught Exception. could not resolve property: of TABLEB:TABLEA. 

Làm thế nào tôi có thể giải quyết vấn đề này? Thực ra tôi đã lấy một giá trị từ nhiều hơn một bảng. Truy vấn này không hoạt động với CreateQuery(strQuery).

+0

Vui lòng đăng một số mã. –

+0

Đổi mới và đơn giản hóa myquery.Pls cho biết bất kỳ câu trả lời nào có thể –

+0

tại sao bạn tham gia với A.TABLEB, nó chỉ nên là TABLEB. –

Trả lời

10

Trong HQL bạn có thể sử dụng LEFT chỉ JOIN với tài sản liên kết trong tổ chức chính:

mẫu

EntityA có một đối tượng entityB loại EntityB để bạn có thể

SELECT A FROM EntityA A LEFT JOIN A.entityB B WHERE ... 

NẾU EntityA thiên đường' t thuộc tính entityB nhưng EntityB có một thực thể thuộc tínhA, bạn không thể viết điều này:

SELECT A FROM EntityA LEFT JOIN EntityB B WHERE B.entityA = A 

vì bạn có lỗi. Đây là một vấn đề Hibernate chưa được giải quyết.

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