2013-02-24 60 views
1

以下查詢將返回like匹配的第一個項目(真的是任何舊項目)。如何選擇JPA查詢中的最佳匹配

TypeQuery<Company> query = em.createQuery(
    "select c from Company c where c.name like ?1", Company.class); 
query.setMaxResults(1); 
query.setParameter(1, "%" + name + "%"); 
result = query.getSingleResult(); 

不過,我想最好的匹配顯示爲我的一個結果。
這裏最好的意思是與給定的name的差異最小的匹配。
什麼樣的order by我可以適用於此查詢,使之發生?

+0

我想你應該標記與'SQL'這一問題得到儘快的幫助。 – 2013-02-24 13:38:21

+0

問題是我知道如何在SQL中完成它,但不是在JPQL中完成。 – Johan 2013-02-24 13:42:53

+0

'createNativeQuery()'怎麼辦? – 2013-02-24 13:44:24

回答