首页 > 解决方案 > @oneTomany:是否有可能让不是所有孩子的父母?

问题描述

城市实体具有 SynopticData 列表。

    public class City {

    @Id
    @GeneratedValue
    private Long id;
    @OneToMany(cascade = CascadeType.ALL)
    @JoinColumn(name = "city_id")
    private List<SynopticData> synopticDataList;
}

是否可以获得具有特定 SynopticDates 列表的城市?我有这样一个查询:

@Repository
public interface CityRepository extends JpaRepository<City,Long> {

    @Query(value = "SELECT * FROM city c left join synoptic_data s on c.id=s.city_id
    where s.local_date_time=(select s.local_date_time from synoptic_data s where s.city_id=c.id order by local_date_time desc limit 1) and c.name=:cityName", nativeQuery = true)
    public City findCity(@Param("cityName") String name);
}

在 MySql 中它可以正常工作,但在 java 中,休眠添加了自己的查询,结果我得到了包含所有 SynopticData 列表的城市。

有可能得到这样的结果吗?有哪些可能性?

标签: javahibernatejpaone-to-manynativequery

解决方案


推荐阅读