我想检索一个对象干预,但我的干预链接到其他对象。例如,当我仅从干预中检索信息而不与表地址建立任何链接时,它效果很好。但是我希望只能从地址表中获取街道名称,但我不知道该怎么做。
提前致谢
@Repository
interface InterventionRepository : JpaRepository<Intervention, Long> {
@Query("select new Intervention(i.id, i.date, i.wishedDate, new Address(a.streetName1)) " +
"from Intervention i " +
"inner join i.address a ")
fun getInterventions(): Optional<ArrayList<Intervention>>
}
最佳答案
最后我自己找到了解决办法,我确实做错了。 我需要在构造函数中添加地址值。我是这样工作的:
@Repository
interface InterventionRepository : JpaRepository<Intervention, Long> {
@Query("select new Intervention(i.id, i.date, i.wishedDate, a.name) " +
"from Intervention i " +
"inner join i.address a ")
fun getInterventions(): Optional<ArrayList<Intervention>>
}
在我的构造函数中我是这样做的:
constructor(interventionId: Int?, date: Date?, addressName: String?) {
this.id = interventionId
this.date = date
this.address = Address()
this.address?.name = addressName
}
我不知道这是否是最好的解决方案,但我这样做了,我希望对其他人有帮助。
关于java - 如何通过模型构造函数在 Spring boot 中进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790207/