`

Spring Data findOne查有manyToMany情况

 
阅读更多
遇到个奇葩问题:
  • User和Role是多对多关系...查询到一个User...然后getRoles...集合中出现18条一模一样的Role实例(此时数据库中间表中此User只有一个角色)...

@ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(
name = "t_sysmgt_user_role", 
joinColumns = { @JoinColumn(name = "user_id") }, 
inverseJoinColumns = { @JoinColumn(name = "role_id") }
)
private List<Role> roles = new ArrayList<Role>();

  • 1.UserDao 实现了JpaRepository(Spring Data)
  • 2.Hibernate4.3.5
  • 3.Spring Data1.10.1


用的JpaRepository中的findOne就会有这个问题, 然后自己写了个查询方法就OK了
@Query("select u from User u where u.id=?")

User findById(Long userId);
分享到:
评论

相关推荐

    SpringBoot-SpringData-ManyToMany

    在Spring Boot和Spring Data的框架下,`ManyToMany`关系是一种常见的数据库模型,用于表示两个实体之间多对多的关系。这种关系意味着一个实体可以与多个其他实体相关联,反之亦然。例如,用户和角色之间的关系,一个...

    Spring Data JPA入门项目02

    在本项目"Spring Data JPA入门项目02"中,我们将深入探讨如何使用Spring Data JPA进行查询操作,包括排序和分页。Spring Data JPA是Spring Framework的一个模块,它为Java Persistence API (JPA) 提供了一种更加便捷...

    Spring Data JPA中文文档[1.4.3].zip

    Spring Data JPA是Java开发中的一个关键框架,它简化了与关系型数据库的交互,特别是基于Java Persistence API (JPA)。这个框架是Spring生态系统的组成部分,为开发者提供了声明式数据访问的方式,允许通过简单的...

    Spring data jpa 中文开发文档

    Spring Data JPA支持多种实体关系,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany)。通过注解如`@ManyToOne`、`@OneToMany`等,可以轻松地定义和处理这些关系。 **8. 组合...

    springData-jpa-demo

    Spring Data JPA 是一个强大的框架,它简化了与Java Persistence API (JPA) 的交互,使得在Spring应用程序中处理数据库操作变得更加便捷。本项目“springData-jpa-demo”旨在提供一个示例,帮助开发者理解如何在实践...

    Spring-data-jpa常用教程.pdf

    - 利用 `@ManyToOne`、`@OneToMany`、`@ManyToMany` 等注解来定义实体之间的关系,Spring-data-jpa 支持多种关系类型的映射。 #### 四、Spring-data-jpa 复杂查询支持 除了基本的 CRUD 操作外,Spring-data-jpa ...

    SpringData案例

    3. **查询(Query)**:SpringData支持基于方法名的查询,例如`findAll()`返回所有实体,`findById()`根据ID查找实体。还可以自定义复杂的查询方法,通过`@Query`注解使用JPA的原生SQL或HQL。 **一对一(OneToOne)...

    Spring Data JPA

    比如,如果你有一个名为`findByUsername(String username)`的方法,Spring Data JPA会自动生成对应的SQL(HQL)查询,寻找用户名为`username`的用户。 4. **JPA注解**:除了`@Entity`,还有其他JPA注解,如`@Id`...

    Spring Data JPA Examples 官方源码

    Spring Data JPA支持基于方法名的查询,例如,`findAll()`对应于SQL的`SELECT * FROM table`,`findByUsername(String username)`将自动转换为`SELECT * FROM table WHERE username = ?1`。这种方法极大地减少了...

    spring data jpa

    Spring Data JPA是Spring框架的一个模块,专门用于简化Java持久层的开发,它提供了一种声明式的方式来处理数据库操作,如CRUD(创建、读取、更新和删除)操作。这个框架利用了Java Persistence API (JPA) 和 ...

    spring-data-JPA帮助文档

    通过使用Spring Data JPA,开发者可以快速实现对数据库的基本操作,如增删改查,而无需编写大量的DAO(Data Access Object)和Repository代码。 二、Repository接口 Spring Data JPA的核心是Repository接口,它提供...

    Spring Data JPA文档.zip

    Spring Data JPA是Java开发中的一个强大框架,它简化了持久化层的开发,通过将ORM(对象关系映射)与Spring框架相结合,为开发者提供了简单、高效的数据库操作方式。这个压缩包“Spring Data JPA文档.zip”包含了...

    spring-data-jpa-examples-master.rar_spring data jpa

    【标题】"spring-data-jpa-examples-master.rar_spring data jpa" 提供了一个关于Spring Data JPA的实际应用示例,这是一个广泛使用的Java框架,它简化了与数据库的交互,特别是通过JPA(Java Persistence API)进行...

    Spring Data JPA从入门到精通

    《Spring Data JPA从入门到精通》是一本深入解析Spring Data JPA的指南,旨在帮助开发者全面理解并熟练掌握这一强大的持久层框架。Spring Data JPA是Spring框架的一部分,它简化了Java Persistence API (JPA) 的使用...

    学习使用 Spring Data JPA 对 MySQL 进行操作.zip

    8. **多表关联**:理解 One-to-One、One-to-Many、Many-to-One、Many-to-Many 等关联关系,以及如何使用 `@OneToOne`、`@OneToMany`、`@ManyToOne`、`@ManyToMany` 注解来配置。 9. **懒加载与急加载**:了解 JPA ...

    Spring Security+Spring Data Jpa如何进行安全管理

    它能够与多种技术集成,包括 Spring Data Jpa,后者是 Spring 框架的一部分,用于简化数据库操作。在本文中,我们将探讨如何将 Spring Security 与 Spring Data Jpa 结合,以实现应用程序的安全管理。 首先,我们...

    JavaEE就业班(夜光)③:SpringData开发.docx

    Spring Data JPA 提供了一系列预定义的 CRUD 方法,如 `save()`、`findById()`、`findAll()`、`deleteById()` 等。这些方法可以直接在接口中使用而无需编写实现代码。 #### 七、自定义查询 除了预定义的方法外,还...

    Spring data JPA笔记资料

    Spring Data JPA 是一个强大的框架,它简化了与Java持久层的交互,允许开发者以声明式的方式处理数据库操作。这个框架是Spring生态的一部分,专门用于简化JPA(Java Persistence API)的使用。下面将详细解释Spring ...

    Spring整合MyBatis关联查询示例

    在Java开发领域,Spring框架与MyBatis的整合是常见的数据访问层实现方式。本示例将探讨如何在Spring环境中实现MyBatis的关联查询,包括一对多、一对一和多对多关系的处理。理解这些关联关系对于构建复杂的业务逻辑至...

Global site tag (gtag.js) - Google Analytics