有什么方法可以在查询中引用参数的属性吗?

时间:2016-11-16 09:28:20

标签: jpa spring-data-jpa hql jpql

有没有办法引用参数的属性作为JPA存储库查询的一部分?

我的样本是

@Entity
public class Matchday implements Serializable {
    @Id
    private int matchdayNumber;
    //..
    //setters and getters defined
    //..
    //hashCode and equals methods overridden
}

public interface MyRepository extends JpaRepository<Matchday, Integer> {
    @Query("... WHERE t.matchday.matchdayNumber < :matchday.matchdayNumber - 1;")
    public findByCriteria(Matchday matchday);
}

构造:matchday.matchdayNumber似乎不是有效的语法。还有其他方法可以将int的{​​{1}}值传递给此方法,而不是将matchdayNumber对象的引用传递给此方法吗?

1 个答案:

答案 0 :(得分:1)

Spring JPA Data允许在查询中使用SpEL,这似乎是可行的。

public interface MyRepository extends JpaRepository<Matchday, Integer> {
    @Query("... WHERE t.matchday.matchdayNumber < :#{#matchday.matchdayNumber - 1}")
    public findByCriteria(Matchday matchday);
}