У меня есть таблицаспящий режим нагрузки же строки
canvastowidgets
{
idCanvas int PK
idWidgets int PK
version varchar
sequence int
position int
inPanelOrNot int
}
и отображение XML, как показано ниже
<hibernate-mapping>
<class name="com.config.canvas.CanvasHasWidget" table="canvastowidgets">
<id name="canvasId" type="int">
<column name="idCanvas" />
<generator class="assigned" />
</id>
<property name="widgetId" type="int">
<column name="idWidgets" />
</property>
<property name="sequence" type="int">
<column name="sequence" />
</property>
<property name="position" type="int">
<column name="position" />
</property>
<property name="inPanel" type="boolean">
<column name="inPanelOrNot" />
</property>
</class>
</hibernate-mapping>
Когда я выполнить запрос, как показано ниже
Query query = session.createQuery("from CanvasHasWidget where idCanvas = :id");
query.setParameter("id",canvas.getCanvasId());
return query.list();
запроса
select canvashasw0_.idCanvas as idCanvas1_2_, canvashasw0_.idWidgets as idWidget2_2_, canvashasw0_.sequence as sequence3_2_, canvashasw0_.position as position4_2_, canvashasw0_.inPanelOrNot as inPanelO5_2_ from canvastowidgets canvashasw0_ where idCanvas=?
07: 38: 16822 TRACE BasicBinder: 81 - параметр связывания [1], как [INTEGER] - [1]
07: 38: 16829 TRACE BasicExtractor: 78 - экстрагируют значение ([idCanvas1_2_]: [INTEGER]) - [1] 07: 38: 16,835 TRACE BasicExtractor: 78 - извлеченное значение ([idCanvas1_2_]: [INTEGER]) - [1] 07: 38: 16,840 TRACE BasicExtractor: 78 - извлеченное значение ([idCanvas1_2_]: [INTEGER ]) - [1]
Список возвращает 3 строки, в которых у меня есть 3 строки в таблице. но все три строки, которые вернулись, одинаковы.
Что происходит, когда вы запускаете запрос непосредственно в базе данных? выберите canvashasw0_.idCanvas как idCanvas1_2_, canvashasw0_.idWidgets как idWidget2_2_, canvashasw0_.sequence как sequence3_2_, canvashasw0_.position как position4_2_, canvashasw0_.inPanelOrNot как inPanelO5_2_ из canvastowidgets canvashasw0_, где idCanvas =? – Kalyan
PK вашей таблицы является двойным (idCanvas, idWidgets), пока вы отображаете только один из них. Вот что может вызвать проблему. –
@Javakid он возвращает 3 разных строки не одинаковые – chiranjeevigk