【发布时间】:2025-12-21 13:35:16
【问题描述】:
我想了解如何将 JOIN 与 JPA-spring-repositories 一起使用。 有两张表 Man 和 Car
Man
varchar(25) manId primary key not null
varchar(25) name
varchar(25) surname
varchar(25) modelCar
Car
varchar(25) carId primary key not null,
varchar(25) color,
varchar(25) model;
和可视化:
Man
mainId name surname modelCar
=====================================
111-1 Natasha Smith reno-123
111-2 Maria John mazda-214
Car
carId color model
============================
as-aw red reno-123
os-dz black mazda-214
sa-aa yeallow porche-1
关系是一对一的
我的实体是
@Entity
@Table
@Getter @Setter @NoArgsConstructor
class ManRecord{
private String manId;
private String surname;
private String modelCar;
}
@Entity
@Table
@Getter @Setter @NoArgsConstructor
class CarRecord{
private String carId;
private String color;
private String model;
}
所以,我需要编写 JPA-repositories 来执行 join 的结果: 姓名、姓氏和汽车颜色:
select m.name, m.surname, c.color from Man m left join Car c on m.modelCar=c.model;
你能帮帮我吗?
我试过了
@Repository
public interface ManRepository extends CrudRepository<Man, String>{
@Query("select m.name, m.surname, c.color from Man m left join Car c on m.modelCar=c.model", nativeQuery=true)
List<Object> agregateData();
}
但我不想只得到对象。
而且,我用@OneToOne 尝试过某人,但这对我没有帮助
【问题讨论】: