Собственный запрос гибернации с несколькими объединениями в одной таблице возвращает неверные результаты

Я использую собственный SQL-запрос, в котором у меня есть таблица игроков, к которой я присоединяюсь три раза, сначала для получения имени игрока с битой, затем для получения имени боулера, а затем для получения имени полевого игрока. Теперь первое соединение работает, но следующие два также возвращают одно и то же имя, то есть имя игрока с битой.

Вот SQL-запрос

 select 
    del.over_no, 
    del.delivery_no, 
    batsman.sname, 
    outType.name, 
    outBy.sname, 
    fielder.sname, 
    bep.runs, 
    bep.deliveries, 
    bep.fours, 
    bep.sixes

    from delivery del 
    INNER JOIN batsman_performance bep ON del.innings_id=bep.innings_id 
    INNER JOIN ref_player batsman ON del.batsman_id = batsman.id
    INNER JOIN ref_player outBy ON del.bowler_id = outBy.id
    LEFT OUTER JOIN ref_player fielder ON del.fielder_id1= fielder.id
    INNER JOIN ref_out_type outType ON del.out_type_id=outType.id
    and del.out_type_id IS NOT NULL 
    and del.innings_id=:innings_id 
    and bep.player_id = del.batsman_id
    order by over_no, delivery_no;

Я не использую псевдонимы для выбранных столбцов, потому что когда я это делал, hibernate вызывал исключение для любого столбца, для которого я использую псевдоним

Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query] with root cause java.sql.SQLException: Column 'over_no' not found.

Этот запрос работает, когда я запускаю его на моем клиенте mysql и возвращает правильный набор данных, но когда я запускаю его в своем коде, набор результатов каким-то образом переопределяет два последовательных соединения в таблице игрока ref _, оставляя меня с именем игрока с битой в все три столбца, то есть одно и то же имя в столбцах batsman.sname, outBy.sname и fielder.sname.

Я застрял здесь в течение последних двух дней, пожалуйста, любая помощь будет отличной.

7
задан Khizar 10 September 2012 в 05:35
поделиться