Не могу понять результат запроса JPA - PullRequest
0 голосов
/ 21 июля 2011

У меня есть функция, которая возвращает ArrayList , список содержит элементы, извлеченные из базы данных с использованием JPA, моя проблема в том, что я не могу понять формат вывода!

функция:

public ArrayList<String> getMyListEnvironment()
{

  ArrayList<String> env=new ArrayList<String>();
     try{
        EntityTransaction entr=em.getTransaction();
        entr.begin();

       javax.persistence.Query multipleSelect= em.createQuery("SELECT h.hEnv FROM HPe h WHERE h.hPePK.pePlatform = :w ").setParameter("w", "platf1");
     List s =  new LinkedList();
     s= multipleSelect.getResultList();
     env = new ArrayList(s);

       entr.commit(); 

 return env;
      }
      catch (Exception e )
      {
        System.out.println(e.getMessage());
        System.out.println("error");
      }
      finally {
        em.close();
    } 

  return env;
}

Вывод (Результат):

[DTOMonito.HEnv[ envUrl=http://10.55.99.5:1055 ], DTOMonito.HEnv[ envUrl=http://10.55.99.99:8090 ]]

1 Ответ

1 голос
/ 21 июля 2011

Запрос возвращает список hEnv, найденный как поля сущности HPe (кажется, что эти сокращения для сущностей вызывают больше путаницы, чем пользы - хорошая идея использовать описательные имена для подобных вещей).

Является ли HPe.hEnv строкой?Возможно, ваш вывод сбивает с толку, потому что кто-то хранит отформатированную строку в этом поле.Не видя ваш код, его очень трудно расшифровать.

Кстати, этот метод немного расточителен для создания мертвых хранилищ .Нет абсолютно никакого смысла писать что-то вроде этого:

List s =  new LinkedList();
s= multipleSelect.getResultList();

Вы можете сохранить строку кода (и распределение LinkedList), просто написав

List s = multipleSelect.getResultList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...