In precedenza ho usato solo il riflesso per fare cose come ottenere in modo dinamico classe e impostare valori di campo in esso. La mia ricerca su Google mi ha mostrato che potrei anche usare la riflessione per il casting di tipo dinamico?Imposta dinamicamente Elenco <type>
Il mio codice è il seguente:
import entity.Shipvia;
import entity.Route;
import java.lang.reflect.Field;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.Query;
public class RetrieveResultList {
public static List retrieveResultList(String tablename) {
EntityManager entityManager = Persistence.createEntityManagerFactory("EntityLibraryPU").createEntityManager();
Query query = entityManager.createNamedQuery(tablename + ".findAll");
List<Shipvia> resultList = query.getResultList();
return resultList;
}
}
Sto usando questo metodo seguito da una tabella del database per recuperare in modo dinamico. Poiché il nome della tabella è sempre diverso, non posso avere List poiché sarà diverso per ogni tabella.
Come dovrei fare per convertire la stringa del tablename in cui sto passando, per essere il tipo di List?