hibernate中的Projections.distinct怎么去除指定的重复字段

问题描述

Criteriacriter=session.createCriteria(ProProduceId.class);criter.setProjection(Projections.distinct(Projections.id()));就是这句,但是我想去除的是ProProduceId这个类里面的商品编号的但是影射了之后,对应的是一个商品对象(privateProBaseInfoproBaseInfo;)这样的情况怎么去除重复的商品信息?在数据库中的是pbiId

解决方案

解决方案二:

研究了好久都没有弄出来,麻烦弄出来个通知俺一下,非常感谢!
解决方案三:

Projections.property("pbiId")
解决方案四:

trhjsd
解决方案五:

如果是两个属性怎么办?
解决方案六:

是两个属性再在后面加一个setProjection()呗!

时间: 2024-10-24 00:58:31

hibernate中的Projections.distinct怎么去除指定的重复字段的相关文章

URL中去除指定参数实现C#代码_实用技巧

复制代码 代码如下: #region URL中去除指定参数 /// <summary> /// 中去除指定参数 /// </summary> /// <param name="url">地址</param> /// <param name="param">参数</param> /// <returns></returns> public static string bui

解析mysql中:单表distinct、多表group by查询去除重复记录

单表的唯一查询用:distinct 多表的唯一查询用:group bydistinct 查询多表时,left join 还有效,全连接无效, 在 使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重复记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,用 distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据

解析mysql中:单表distinct、多表group by查询去除重复记录_Mysql

单表的唯一查询用:distinct多表的唯一查询用:group bydistinct 查询多表时,left join 还有效,全连接无效,在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重复记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的

【hibernate criteria】hibernate中criteria的完整用法 转

---恢复内容开始--- 转自:http://www.360doc.com/content/090313/10/26262_2794855.html   1.Criteria Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria . 2.DetachedCriteria Spring 的框架提供了getHibernateTemplate ().findByCriteria(deta

Hibernate中load和get的区别

Hibernate中Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 1.get()方法直接返回实体类,load()方法可以返回实体的代理类实例. 2.hibernate load是采用延迟机制(当lazy属性为true时) 而get不采用延迟机制(get语句马上读库) 3.找不到符合条件的数据 get方法将返回null load将会报出ObjectNotFoundExcepion 4.get支持多态查询,load只有在la

在Hibernate中检索策略的应用详解

Hibernate的检索策略包括类级别检索策略和关联级别检索策略. 类级别检索策略有立即检索和延迟检索,默认的检索策略是立即检索.在Hibernate映射文件中,通过在<不着class>上配置lazy属性来确定检索策略.对于Session的检索方式,类级别检索策略仅适用于load方法:也就说,对于get.qurey检索,持久化对象都会被立即加载而不管lazy是false还是true.一般来说,我们检索对象就是要访问它,因此立即检索是通常的选择.由于load方法在检索不到对象时会抛出异常(立即检

Hibernate中数据类型,数组怎么用?

问题描述 Hibernate中数据类型,数组怎么用?能举个例子最好,谢谢! 解决方案 这个要用自定义类型,继承org.hibernate.usertype.UserType类.存储格式可以自己定制,比如逗号分隔.配置的时候指定用自己定义的类型,比如@Type(type = "com.XXX.StringArrayType")解决方案二:抛开问题不说.我想问问, 数组类型的东西怎么对应到数据库的记录.不好意思,我是请教请教...

角色-Hibernate中,继承映射还是使用&amp;amp;quot;type&amp;amp;quot;字段区分

问题描述 Hibernate中,继承映射还是使用"type"字段区分 个人觉得hibernate的继承映射是很好的东西,但是看了不少项目都是使用的一个type字段来区分类型,而我们老师也是这样做的.从对象的设计来说,User和Admin可以是一类,使用继承映射恰恰合适.而使用type字段等,第一:不符合面向对象的思想,第二:字段冗余 但是,如果使用继承映射,我暂时想到的无法解决的问题包括:对于角色转换,使用字段的方式可以通过改变这个字段来修改角色,比如User变为Admin,Admin

Hibernate中如何启用新TableGenerator

本文从这个 Bug 开始,讲述了如何启用新 TableGenerator,并演示了新 TableGenerator 的完整用法. 问题的发现源自对 JPA 中 TableGenerator 的测试.测试的环境有这样几个条件: 为方便查询的测试,Employee 表格在初始化时会导入部分记录,这部分记录的主键在初始脚本中手动写好,比如 1.2.3.4.(参看文章所附示例代码中的 import_data.sql 文件). Employee 实体使用 TableGenerator 主键生成器,init