hibernate 根据某一列数据去重

简介: hibernate 根据某一列数据去重

其实这种方式不局限于hibernate


problem:


项目中遇到好几次这种问题,需要根据某个字段去重,也就是查出来的某个字段必须的值必须都是unique的。

因为sql去重必须是整条数据所有字段完全相同才能去重,所以无法直接通过distinct根据某一列去重。


Solution:


给这个表添加一个标识列,表示某条数据能够代表一组数据,在插入数据的时候可以判断一下这个值是否可以作为标识列,可以的话则设置为true,否则false,之后在查询的时候可以加上这个条件,那么查出来的效果就相当于根据某一列去重。


“example: ”

table:


采购商 供应商 商品
采购商1 供应商1 goods1
采购商1 供应商1 goods3
采购商1 供应商1 goods4
采购商1 供应商2 goods5


采购商需要查询与自己绑定关系的供应商,这个时候需要根据供应商列进行去重,所以可以加一个标识列,当采购商跟这个供应商第一次绑定关系的时候把这个标识列设置true


采购商 供应商 商品 是否标识列
采购商1 供应商1 goods1 true
采购商1 供应商1 goods3 false
采购商1 供应商1 goods4 false
采购商1 供应商2 goods5 true


当查询的时候把标识列为true的查出来就行。


条条大路通罗马,一定要发散思维。


相关文章
|
7月前
|
XML Java 数据库连接
Spring Boot的数据访问之Spring Data JPA以及Hibernate的实战(超详细 附源码)
Spring Boot的数据访问之Spring Data JPA以及Hibernate的实战(超详细 附源码)
163 0
|
3月前
|
Java 数据库连接 API
解锁高效开发秘籍:深入探究 Hibernate 如何优雅处理一对多与多对多关系,让数据映射再无烦恼!
【9月更文挑战第3天】Hibernate 是 Java 领域中最流行的 ORM 框架之一,广泛用于处理实体对象与数据库表之间的映射。尤其在处理复杂关系如一对多和多对多时,Hibernate 提供了丰富的 API 和配置选项。本文通过具体代码示例,展示如何使用 `@OneToMany`、`@JoinColumn`、`@ManyToMany` 和 `@JoinTable` 等注解优雅地实现这些关系,帮助开发者保持代码简洁的同时确保数据一致性。
66 4
|
4月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
131 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
4月前
|
Java 数据库连接 数据库
从零到精通:揭秘 Hibernate 构建持久层服务的全过程,你离数据持久化大师还有多远?
【8月更文挑战第31天】本文详细介绍了如何从零开始使用 Hibernate 构建一个持久层服务。首先,通过在 Maven 项目中添加必要的依赖,确保项目具备使用 Hibernate 的条件。接着,配置 `hibernate.cfg.xml` 文件以连接 MySQL 数据库,并设置了基本属性。然后定义了一个简单的 `User` 实体类及其映射关系。此外,还创建了一个 `HibernateUtil` 工具类来管理 `SessionFactory`。
47 0
|
4月前
|
Java 数据库连接 数据库
强强联手!JSF 与 Hibernate 打造高效数据访问层,让你的应用如虎添翼,性能飙升!
【8月更文挑战第31天】本文通过具体示例详细介绍了如何在 JavaServer Faces (JSF) 应用程序中集成 Hibernate,实现数据访问层的最佳实践。首先,创建一个 JSF 项目并在 Eclipse 中配置支持 JSF 的服务器版本。接着,添加 JSF 和 Hibernate 依赖,并配置数据库连接池和 Hibernate 配置文件。然后,定义实体类 `User` 和 DAO 类 `UserDAO` 处理数据库操作。
67 0
|
Oracle Java 关系型数据库
hibernate在分层架构中修改数据(update)时遇到的问题!!
hibernate在分层架构中修改数据(update)时遇到的问题!!
|
缓存 Java 数据库连接
hibernate+oracle+servlet实现插入数据的时候,不立马显示!!
hibernate+oracle+servlet实现插入数据的时候,不立马显示!!
|
Java 数据库连接
Java:hibernate-validator验证数据
Java:hibernate-validator验证数据
114 0
|
7月前
|
SQL 缓存 Java
框架分析(9)-Hibernate
框架分析(9)-Hibernate