# JPA: select all mit unterschiedlichem Tablename



## markus2510 (5. Apr 2019)

Hallo,

ich habe eine Klasse Firma und deren Instanzen speichere ich in der Tabelle firmen.

TypedQuery<Firma> query=em.createQuery("select f from Firma f", Firma.class);

funktioniert wunderbar, aber wie müsst ich das Query schreiben wenn die Tabelle anders heißen würde, z.B. Firmen

Zuerst müsste ich ja mal bei der Klasse Firma die Annotation @Table(name="firmen") schreiben oder?

lg, Markus


----------



## httpdigest (5. Apr 2019)

Du würdest nach wie vor schreiben: `select f from Firma f`. Bei JPA Queries ist das nach dem "from" nicht die tatsächliche Tabelle in der Datenbank, sondern der JPA-Entitätstypname. JPA übersetzt dann, wenn es die tatsächlich SQL-Query baut, den Entitätstypnamen in den richtigen Tabellennamen.


----------



## mihe7 (5. Apr 2019)

Wie @httpdigest schon schreibt, bleibt die Query gleich. Hintergrund ist, dass sich der Entwickler um seine Anwendung kümmern soll. Er arbeitet mit Klassen und Objekten, eine relationale DB taucht dort im Idealfall nicht auf. JPA kümmert sich dagegen um die Abbildung von Objektgraphen auf die DB und umgekehrt. Aus diesem Grund arbeitet der Entwickler auch mit einer eigenen Anfragesprache JPQL.


----------

