Есть 2 сущности связанные многие-ко-многим.
Если я хочу получить все данные то
result = session.createCriteria(ProductBrand.class).list();
вываливает мне по 4 дубля(рис. 1) из-за связи многие-ко-многим.
А SQL-запрос
result = session.createSQLQuery("SELECT * FROM wk_cas_product_brand")
.addEntity(ProductBrand.class).list();
работает то нормально(никаких дублей из-за связи нет(рис. 2)), но напрягает, что в нем нужно писать реальное название таблицы.
Можно ли и как настроить ограничения в критерии, дабы связь многие-ко-многим не учитывалась?
рис. 1
рис. 2
Используй Projections.distinct
session.createCriteria(ProductBrand.class).setProjection(
Projections.distinct(Projections.projectionList()
.add(Projections.property("Марка"), "Марка")))
.setResultTransformer(Transformers.aliasToBean(ProductBrand.class))
.list();
Где Марка это имя поля из класса ProductBrand
Продвижение своими сайтами как стратегия роста и независимости