Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / SqlResultSetMapping не хочет работать / 5 сообщений из 5, страница 1 из 1
09.08.2016, 17:31
    #39289171
ASavin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlResultSetMapping не хочет работать
Всем доброго времени суток.
Есть такой мэппинг:
Код: java
1.
2.
3.
4.
5.
6.
7.
@SqlResultSetMapping(
        name = "CountryMapping",
        entities = {
            @EntityResult(entityClass = CountryNew.class),
            @EntityResult(entityClass = CountryTL.class)
        }
)



И вот в чем вопрос.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public void findByLang2() {
        List<Object[]> a = em.createNativeQuery("select c.country_id,c.eu_code,c.iso_code, "
                + "t.countrytl_id, t.country_id, t.name, t.description from CountryNew c,CountryTL t "
                + "where c.country_id=t.country_id and t.language=?1", "CountryMapping").setParameter(1, sa.getLanguage()).getResultList();
        a.stream().forEach((aa) -> {
            System.out.println(aa.length);
        });
    }


Я ожидаю что в aa[0] будет сидеть CountryNew, в aa[1] - CountryTL. Т.е. результат должен быть 2.

А Результат 7! aa[0] - c.country_id, aa[1] - c.eu_code и т.д. Т.е. по сути мэппинг не работает. Что за беда, помогите плиз
...
Рейтинг: 0 / 0
09.08.2016, 17:59
    #39289206
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlResultSetMapping не хочет работать
ASavin,

Может поля надо замапить?
http://www.thoughts-on-java.org/result-set-mapping-complex-mappings/
Откуда ему знать какая колонка на какую сущность мапится?
...
Рейтинг: 0 / 0
09.08.2016, 18:19
    #39289226
ASavin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlResultSetMapping не хочет работать
Blazkowicz,
Замапил, но все равно не хочет заводиться

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@SqlResultSetMapping(
        name = "CountryMapping",
        entities = {
            @EntityResult(entityClass = CountryNew.class, fields = {
        @FieldResult(name = "country_id", column = "country_id"),
        @FieldResult(name = "eu_code", column = "eu_code"),
        @FieldResult(name = "iso_code", column = "iso_code")}),
            @EntityResult(entityClass = CountryTL.class, fields = {
        @FieldResult(name = "countrytl_id", column = "countrytl_id"),
        @FieldResult(name = "country_id", column = "country_id"),
        @FieldResult(name = "name", column = "name"),
        @FieldResult(name = "description", column = "description"),
            })
        }
)
...
Рейтинг: 0 / 0
11.08.2016, 10:16
    #39290156
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlResultSetMapping не хочет работать
А какой провайдер ?

возможно чистый Хибер это не умеет или ваша версия не понимает ... попробуйте тест написать для Хибера и Эклипслинка ...

помню в Эклипслинке все было ок ...

так же попробуйте через JPA
...
Рейтинг: 0 / 0
17.08.2016, 21:06
    #39293556
ASavin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlResultSetMapping не хочет работать
Проблема разрешилась когда прописал маппинг в orm.xml. Странно что аннотацию не видит.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / SqlResultSetMapping не хочет работать / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]