我在sql
查詢。我想寫在JPA Spring中。JPA Spring查詢sql
我該怎麼辦?
SELECT * FROM user WHERE user.id=3 and user.enabled=1
我在sql
查詢。我想寫在JPA Spring中。JPA Spring查詢sql
我該怎麼辦?
SELECT * FROM user WHERE user.id=3 and user.enabled=1
要執行JPA原生SQL查詢,你必須做到以下幾點:
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();
如果你想有一個JPQL查詢:
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();
使用JPQL查詢更好的風格,因爲它是類型安全的。您可以直接在實體上執行語句,而無需知道數據庫的特定表結構。
謝謝兄弟! –
很高興我能幫到你。請標記爲正確。所以你的問題將顯示爲已回答。 –
SQL查詢中已經存在錯誤=) – Whencesoever
你想要一個jpql查詢還是你想執行sql? –