2017-02-24 67 views
0

的前5個字符我有entitity與現場:str和表休眠條件選擇所有行價值列值

str 
12345675678 
56334567676 
46746764764 
67345243524 

我需要寫條件查詢並選擇str包含了我的價值的所有行。我的價值總是先是5個字符。

如果值= 「56334」 我需要回到56334567676

如果值= 「12345」 我需要回到12345675678

我試圖Restrictions.like,但它不是我的資金一行。

value= "56334"; 
Criteria criteria = getSession().createCriteria(MyEntity.class); 
criteria.add(Restrictions.like("str", value)); 
return criteria.list(); 

如果是本地選擇它看起來像:

SELECT * FROM MyEntity t WHERE t.str LIKE '%12345%' // this select return success result. but my criteria return 0 
+0

你有沒有嘗試改變'''值=「56334」'''爲'''value =「%56334%」'''? – Rakesh

回答

1

試試這個是這樣的:

criteria.add(Restrictions.like("str", value, MatchMode.START));

MatchMode documentation

+0

我發現解決方案比你回答得更快,但它是正確的! – user5620472