uma duvida por aparece esse alert no Eclipse e como tirar ???
abs
List<Usuario> l_list = new ArrayList<Usuario>();
try {
em = factory.createEntityManager();
l_list = em.createQuery("select x from Usuario x where x.id="+Id).getResultList();
return l_list;
Type safety: The expression of type List needs unchecked conversion to conform to
List<Usuario>
ArrayList é uma classe concreta que implementa a interface List, ou seja, é impossível instanciar uma List.
O método getResultList() retorna um objeto que implementa List, então não importa se for um ArrayList, uma LinkedList ou um Vector. Não existe algo como “List compatível com ArrayList”, ou implementa a interface List ou não.
ResultSet é usado em conexões via JDBC. O código passado está usando JPA.
O warning ocorre porque o método getResultList() returna uma List (de tipo não especificado), e você está atribuindo este retorno à uma List. Ou seja, é uma conversão não verificada pelo compilador.
Não sei se é possível transformar o retorno em uma lista tipada; entretanto você pode seguramente colocar um @SupressWarnings(“unchecked”) ou fazer um cast “l_list = ( List ) em.createQuery…” pois o nome da classe de retorno está fixo na query que você criou.
Adicionalmente você poderia utilizar o método getSingleResult(), já que está procurando pela id do objeto (supondo que id seja um campo único, claro).