2012-04-26 66 views
-3

我有Java應用程序使用休眠orm來使用數據庫?那麼什麼是最快速的方法來檢查記錄的存在(映射到休眠對象)在db最快的方法來檢查是否使用休眠數據庫表中的某些記錄

+0

用你的DAO來從數據庫中選擇?我真的不明白這個問題。 – 2012-04-26 16:13:34

+0

p.s.會話工廠對象被Hibernate模板隱藏 – user590444 2012-04-26 16:15:25

+0

我不想選擇對象的所有字段並尋找api提供的簡單檢查方法 – user590444 2012-04-26 16:17:45

回答

5

使用entityManager.find

例如,從docs

long catId = 1234L; 
em.find(Cat.class, new Long(catId)); 

另外,算上記錄:

Integer count = (Integer) session.createQuery("select count(*) from Cats c where c.id = :catId") 
          .setLong("catId", 1234L) 
          .uniqueResult(); 
boolean exists = count > 0; 
+0

我不想選擇對象的所有字段並尋找簡單的檢查方式by api – user590444 2012-04-26 16:21:18

+0

@ user590444「api提供的簡單檢查方式」是什麼? – maksimov 2012-04-26 16:28:20

+0

如果您不想選擇所有字段,請選擇一個字段 - 問題是什麼?你必須至少從數據庫中選擇一些東西,看看是否有特定的記錄 - 爲你的WHERE子句返回一些東西。 – maksimov 2012-04-26 16:31:42

相關問題