微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Spring Data JPA 中加入查询

如何解决在 Spring Data JPA 中加入查询

我有两张桌子:

  1. Car_company 具有以下属性C_id(主键), C_name
  2. Car_model 具有以下属性Com_id(参考 Car_company 的 C_id), 型号年份 保修

我希望单独访问这两个表,并且我希望对它们执行连接操作并显示所有 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 以提高性能并防止循环嵌套。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。