问题描述
我有两张桌子:
我希望单独访问这两个表,并且我希望对它们执行连接操作并显示所有 car_models 及其 car_company 名称。我尝试同时使用 JPQL 和本机查询,但没有任何效果。我还确保使用 OnetoMany 和 ManyToOne 关联,但我最终得到了无限嵌套,即模型将 car_company 作为字段,这个 inturn 将 car_models 作为列表,并且一直持续下去。请帮助我处理实体类和 DAO。
解决方法
您可以通过 oneToMany 注释获取 CarCompany 实体中每个汽车公司的 CarModel 列表,如下所示:
@OneToMany(mappedBy = "carCompany",fetch = FetchType.LAZY,cascade = CascadeType.ALL)
private List<CarModel> carModels;
或者像这样在 CarModel 实体中获取所有带有公司字段的汽车模型:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Com_id",referencedColumnName = "C_id",nullable = false)
private CarCompany carCompany;
当您将响应映射到数据传输对象 (DTO) 时,请尝试将您的关系定义为 LAZY 以提高性能并防止循环嵌套。