Nhibernate 如何使用hibernate标准API将列排序为int?
您好,我想使用hibernate Criteria API获取数据库中的数据 该数据应按某列作为编号排序 此列在DB中定义为varchar。但我得把它当作数字来取 我在使用CriteriaAPI时遇到了问题,因为它的顺序就像字符串一样 例: 我得到的数据如下 9,8,7,6,5,4,3,2,1,10 但我需要数据作为 10,9,8,7,6,5,4,3,2,1 是否有任何Hibernate方法将varchar转换为数字,如convert(“some column”,int)Nhibernate 如何使用hibernate标准API将列排序为int?,nhibernate,Nhibernate,您好,我想使用hibernate Criteria API获取数据库中的数据 该数据应按某列作为编号排序 此列在DB中定义为varchar。但我得把它当作数字来取 我在使用CriteriaAPI时遇到了问题,因为它的顺序就像字符串一样 例: 我得到的数据如下 9,8,7,6,5,4,3,2,1,10 但我需要数据作为 10,9,8,7,6,5,4,3,2,1 是否有任何Hibernate方法将varchar转换为数字,如convert(“some column”,int) 还是强制转换(“某列”
还是强制转换(“某列”,int) 您可以使用
Projections.Cast()
执行Cast(列作为类型)
.AddOrder(Projections.Cast(NHibernateUtil.Int32, Projections.Property("stringColumn"))