Ich habe eine Abfrage in sql
. Ich möchte es in JPA Spring schreiben.JPA Spring Query sql
Wie kann ich es tun?
SELECT * FROM user WHERE user.id=3 and user.enabled=1
Ich habe eine Abfrage in sql
. Ich möchte es in JPA Spring schreiben.JPA Spring Query sql
Wie kann ich es tun?
SELECT * FROM user WHERE user.id=3 and user.enabled=1
Um eine native SQL-Abfrage in JPA führen Sie folgendes tun:
EntityManager manager = getEntityManager();
Query query = manager.createNativeQuery("SELECT * FROM user WHERE user.id = :id AND user.enabled = :enabled;");
query.setParameter("id", 3);
query.setParameter("enabled", 1);
Object[] user = query.getSingleResult();
Wenn Sie eine JPQL Abfrage wollen:
EntityManager manager = getEntityManager();
TypedQuery<User> query = manager.createQuery("SELECT u FROM User u WHERE u.id = :id AND user.enabled = :enabled;", User.class);
query.setParameter("id", 3);
query.setParameter("enabled", 1);
User user = query.getSingleResult();
Mit der JPQL Abfrage der bessere Stil, weil es typsicher ist. Sie können die Anweisung direkt in der Entität ausführen, ohne die spezifische Tabellenstruktur Ihrer Datenbank zu kennen.
danke, Bruder! –
Ich bin froh, dass ich helfen konnte. Bitte markieren Sie die Anwer als korrekt. Ihre Frage wird also als beantwortet angezeigt. –
Es ist bereits ein Fehler in SQL-Abfrage =) – Whencesoever
Möchten Sie eine Jpql-Abfrage oder möchten Sie die SQL ausführen? –