güncellemeden sonra başarısız iç içe varlıkların getirilirken katılmak"Otomatik", bazı sorgular iletisiyle başarısız (o JBoss 6 JBoss 4.2.2 den anahtarıyla birlikte gelen tahmin) daha yeni hazırda sürümüne yükselttikten sonra Hazırda
SELECT entityA FROM EntityA entityA
JOIN FETCH entityA.entityB
LEFT JOIN FETCH entityA.entityB.someField
WHERE entityA.entityB.anotherField LIKE :someParameter
sorunun çözümü "entityA.entityB" bir takma ad vermek ve daha sonra WHERE
fıkrada bu takma ad kullanımı: böyle bir sorgu kullanırken Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=null,role=null,tableName= (...)
Bu her zaman böyledir. Ancak bazı sorgularda LEFT JOIN FETCH
açık olarak verilmez, ancak yine de WHERE
yan tümcesi başvurulan varlığın özelliğini kullanır. Orada da başarısız mı olacak? Ne değişti, yeni JBoss versiyonuna geçtikten sonra aniden başarısız oldu mu?
Aşağıdaki question bu soruyla ilgilidir ve çözümü içerir, ancak sorunu açıklamamaktadır.
Sorunuz, hazırda bekletme 3.2.6.ga'dan 3.5.6-Final'e yükselttikten sonra, sorgumla ilgili bir çözüm bulmama yardımcı oldu. Sorgulama gönderme katılımı alma işlemi gerçekleştiriliyordu, ancak getirilen ilişkilendirmenin sahibi değil Seçim listesinde mevcut ', önerdiğin takma ad yaklaşımını kullanarak,' neden 'olsa da size yardımcı olamam! –
bu HQL mi yoksa standart JPQL mi? – wrschneider
Bu "EntityManager.createQuery" ile yapılır, bu yüzden HQL olduğunu sanırım. –