Я использую springframework HibernateTemplate для запроса одной таблицы. Используя настройки отладки, я захватил запрос, который генерирует Hibernate, запустил его в Toad и получил 75 различных строк. Однако в моем приложении я получаю коллекцию с 75 дублирующимися записями и ничего больше.springframework/hibernate возвращает повторяющиеся строки
Отображение так же просто, как он получает:
<hibernate-mapping>
<class name="com.p.e.d.s.PmaSummary" <!-- hiding info -->
table="V_PMA_SUMMARY" schema="ECREDIT">
<cache usage="read-only" />
<id column="member_id" name="memberId">
<generator class="assigned" />
</id>
<property name="weekEnding" column="week_ending" />
<property name="actualInvoice" column="actual_invoice" />
<property name="ftrAdjustments" column="ftr_adjustments" />
<property name="edcLseAdjustments" column="edc_lse_adjustments" />
<property name="blidAdjustments" column="blid_adjustments" />
<property name="pmaMiscAdjustments" column="pma_misc_adjustments" />
<property name="pmaEarlyPayments" column="pma_early_payments" />
<property name="adjInv" column="adj_inv" />
<property name="adjInvExcEarlyPayment" column="adj_inv_exc_early_payment" />
<property name="initialPma" column="initial_pma" />
<property name="threeWeekPma" column="three_week_pma" />
<property name="pmaOverride" column="pma_override" />
<property name="pmaOverride_type" column="pma_override_type" />
<property name="pmaOverride_reason" column="pma_override_reason" />
</class>
</hibernate-mapping>
И этот сгенерированный запрос корректно работает в Жаба:
select this_.member_id as member1_45_0_,
this_.week_ending as week2_45_0_,
this_.actual_invoice as actual3_45_0_,
this_.ftr_adjustments as ftr4_45_0_,
this_.edc_lse_adjustments as edc5_45_0_,
this_.blid_adjustments as blid6_45_0_,
this_.pma_misc_adjustments as pma7_45_0_,
this_.pma_early_payments as pma8_45_0_,
this_.adj_inv as adj9_45_0_,
this_.adj_inv_exc_early_payment as adj10_45_0_,
this_.initial_pma as initial11_45_0_,
this_.three_week_pma as three12_45_0_,
this_.pma_override as pma13_45_0_,
this_.pma_override_type as pma14_45_0_,
this_.pma_override_reason as pma15_45_0_
from ecredit.v_pma_summary this_
where this_.member_id = 10003
order by this_.week_ending desc;
Я обнаружил проблему: эта таблица имеет составной ключ. Переход от одного свойства к двум свойствам в составном ключе устранял проблему. –