当前位置: 首页 > 知识库问答 >
问题:

使用spring数据连接三个实体

糜雪峰
2023-03-14
@Id
@GeneratedValue( strategy = GenerationType.IDENTITY )
private Long   id;
private String model;

@ManyToOne
@JoinColumn( name = "owner" )
private ffperson;
private String constructor;
//getters and setters
@Id
@GeneratedValue( strategy = GenerationType.IDENTITY )
private Long   id;

@Column( name = "name" )
private String Name;
//getters and setters
@Column( name = "lastname", unique = true )
private String lastName;

@Column( name = "firstname", unique = true )
private String firstName;

@Column( name = "birth_date", unique = true )
private Date   dateOfBirth;
@Id
@GeneratedValue( strategy = GenerationType.IDENTITY )
private Long   id;

@ManyToOne
@JoinColumn( name = "dog_id" )
private ffdog;

@ManyToOne
@JoinColumn( name = "person_id" )
private ffperson;

我想用spring数据写一个查询,可以找到所有有自己的狗和车的人…可以有任何身体帮助吗

共有1个答案

井礼骞
2023-03-14

更新您的实体,如下所示:

@Entity
@Table(name = "person")
public class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @OneToMany(mappedBy = "person", cascade = CascadeType.ALL)
    Set<Dog> dogs = new HashSet<>();

    @OneToMany(mappedBy = "person", cascade = CascadeType.ALL)
    Set<Car> cars = new HashSet<>();

    ...

}

狗狗

@Entity
@Table(name="dog")
public class Dog {

    @Id
    @GeneratedValue( strategy = GenerationType.IDENTITY )
    private Long   id;

    @Column( name = "name" )
    private String Name;

    @ManyToOne
    private Person person;

    ...

}

汽车

@Entity
@Table(name = "car")
public class Car {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne
    private Person person;

    ...

}
public interface PersonRepository extends CrudRepository<Person, Long> {

    @Query("select p from Person p join fetch p.dogs join fetch p.cars")
    List<Person> findAll();

}
 类似资料:
  • 我正在尝试使用spring-jpa将三个实体(表)连接到一个使用多对多关系的表中。 三个类别是: 1]用户 有没有人可以帮助我使用多对多关系来连接这三个表,并让我知道如何使用spring-jpa和REST来实现这一点?另外,如果您能解释一下如何使用rest/curl命令在这个“user_resource_privilege”表中插入数据,那就太好了?

  • 问题内容: 我有三个表名为 现在要显示学生姓名和他所学习的课程名称, 我建立以下查询 但是它不会返回所需的结果… 如果我想找到谁是其他经理,那么归一化表格将是什么: 并希望得到以下结果: 问题答案: 只需使用:

  • 假设我的数据库中有一个表。每个有许多,每个可能有许多。这将是一个经典的-相关性,因此,如果我想在我的Spring Boot JPA中描述它,我可以如下所示: 设置我的实体并将它们连接起来: 实现我的存储库: 现在让我们假设我想指定每个用户在这个项目中的角色。因此,我将有一个表,它使用以下实体表示来指定不同的角色: 但这与我的用户和项目有什么联系呢?所以我想展示的是,一个用户可以在一个项目中有一个角

  • 在Spring JPA中有没有一种方法可以连接两个表而不使用关联类。 存储库:

  • 我正在努力使用jpa Crudepository接口连接两个实体模型。我不知道如何映射两个实体模型并在@query注释中编写查询。这些是我的实体类。我想执行这个查询“从taxi\u driver\u映射中选择dppd.payment\u plan\u id,dppd.attribute\u value,dppd.attribute\u id作为tdm加入driver\u payment\u pla

  • 我正在尝试使用JPa连接到我的mysql数据库。 我生成了persistance.xml: 并且通过这样做,intelij生成了POJO类: 我已经创建了实体管理器,并希望从中获得结果: 和路线: 然而,当我导航到localhost:8080/hi 它抛出 在浏览器和 控制台中。我不知道什么会导致这个问题,非常感谢所有的帮助