Ergebniss von getResultList() typisieren

Hallo,

vielleicht stelle ich mich einfach nur doof an. Habe folgendes Problem.
Damit komme ich bis zur einer Ergebnisliste - doch wie kann ich nur das Ergebnis auf dem Entity Type casten damit ich dessen Inhalte ausgeben kann?

Danke schon mal


Code:
Metamodel model=em.getMetamodel();
		       for (  EntityType<?> entityType : model.getEntities()) {
		    	   String entityName=entityType.getName();
		    	    List<Object> x = em.createQuery("select o from " + entityName + " o").getResultList();
		    	    for(Object y :x ){
                                    ?????????????? hilfe
                            }
 
Einfach nur die Tabellen lesen und deren Inhalte ausgaben. Weiß das das an dieser Stelle auch einfacher geht wenn ich mir die Entitys einzeln vornehmen würde aber ich möchte diese Infos aus dem Metamodel nutzen.
 

stg

Top Contributor
Criteria API?

Als Ansatz:
Java:
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
return em.createQuery(cq).getResultList();

entityClass ist hier einfach eine Variable vom Typ Class.
 
Aber dann bin ich doch wieder an dem Punkt an ich Anfangs schon hänge und habe eine Ergebnisliste.
Das Problen kommt ja erst bei der "weiterverarbeitung". Mich interessieren ja die Spalten ... Attribute der Entitiys. Überträgt man das zb. auf eine JDBC Verbindung würde das ja in etwa so ausssehen
Code:
	pstmt = connection.prepareStatement("select * from " + tabName());
	rs = pstmt.executeQuery();
	while (rs.next()) {
			for (int i = 0; i < Spalten; i++) {
			rs.getString(i);
		}

Die Anzahl der Attribute(Spalten) und deren Namen bekomme ich auch über model.getEntities() ganz ähnlich wie bei eine JDBC Verbindung und eben nicht den Zugriff auf die Attribute. Ich kenne zwar den Namen der Entity Klasse ( model.getEntities() ) aber wie bekomme ich es hin die Werte dann auch zu holen?
 

Ähnliche Java Themen


Oben