我正在尝试使用建议的第一个解决方案here来实现历史记录。
在我的项目中,我们有路线,站点,孩子以及每个孩子何时到达站点的记录。
更新停止时间后,我希望记录仍与该停止相关,但要使用该停止在创建时所用的时间。
到目前为止,我唯一的问题是使用Hibernate,即在获取路线的站点时,我想忽略标记为历史的站点。
我可以使用where子句在路由中配置@OneToMany集合以仅获取停止吗?
答案 0 :(得分:2)
否,@OneToMany
仅表示引擎盖下的静态实体关系已转换为外键等,以及一些有关急切/惰性检索,级联更新/删除的提示。
对于您的情况,您需要创建一个包含@NamedQuery
子句的where
。它使用JPQL,因此您仍将与对象模型进行交互。
由于您使用的是spring-data
,因此您也可以使用存储库方法,假设您使用的是RouteRepository
或StopRepository
,在其中可以获得非历史记录的Stop
您的Route
。
您没有提供任何代码示例,因此我无法提供更多细节。