Получение одного объекта класса домена без использования GET или LOAD - PullRequest
0 голосов
/ 10 июня 2018

Привет, у меня есть небольшое сомнение относительно Hibernate.
Предположим, я хочу получить конкретный столбец из класса домена obj.
Как и

SELECT i.firstProperty, i.secondProperty FROM Users i WHERE i.id=10

И это должно вернуть единственный объект не список .Я могу использовать GET или LOAD , чтобы сделать это, но теперь я не хочу.Так есть ли другой способ сделать.
Я не могу использовать запрос , хотя у него есть методы, которые возвращают список , и я думаю, что QBC также имеет список с типами возврата.Так есть ли какой-либо возможный способ.

Мой код Это генерирует запрос успешно, но отображает ноль при вызове getProperty.

Query query= null;
    DTO dto= null;
    SessionFactory factory= ht.getSessionFactory();
    Session ses= factory.openSession();

    query= ses.createQuery(get_Some_coloumn).setResultTransformer(new AliasToBeanResultTransformer(MobileBrands.class));

    MobileBrands brands= (MobileBrands) query.uniqueResult();


    System.out.println(brands.getId()+" "+brands.getName()+" "+brands.getPrice());



Консоль
--------------

Hibernate: 
    select
        mobilebran0_.BRAND_ID as col_0_0_,
        mobilebran0_.NAME as col_1_0_,
        mobilebran0_.PRICE as col_2_0_ 
    from
        MOBILE_BRANDS mobilebran0_ 
    where
        mobilebran0_.BRAND_ID=5
0 null 0

1 Ответ

0 голосов
/ 11 июня 2018

Вы не указали свой полный код для получения результатов, поэтому по некоторым основным соображениям я предложу следующее:

SQLQuery qry = session.createQuery("SELECT i.firstProperty, i.secondProperty FROM Users i WHERE i.id=10")
                      .setResultTransformer(new AliasToBeanResultTransformer(Entity.class));    
entity = qry.uniqueResult()

Это преобразует результат SQL в Entity.Просто попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...