繁体   English   中英

mysql按字段顺序在休眠中等效

[英]mysql order by field equivalent in hibernate

如何在Hibernate中的MySQL中完成此自定义按字段排序功能?

select * from pet order by field(species, 'cat', 'dog', 'bird');

由于某些业务原因,我需要强制执行自定义排序。

PS-我是新来的冬眠。

我最终写了这样的HQL

commaDelimitedSpecies = "'cat', 'dog', 'bird'";
orderBySpecies = " ORDER BY FIELD(species, " + commaDelimitedSpecies + ")  DESC";
Query q = getSession().createQuery("FROM PetModel pet" + orderBySpecies);

使用Spring HibernateDAO:

getHibernateTemplate().findByNamedParametersQuery(
"FROM MyEntity me WHERE me.id IN :ids ORDER BY FIELD(id, :ids)", new String[] {"ids"}, new Object[] {uuidList.toArray()},uuidList.size()
);

注意:getHibernateTemplate返回org.springframework.orm.hibernate3.HibernateTemplate的实例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM