Java 处理空值参数的JPA查询
我想从JPA中的表中选择行,我的查询参数可以为null。 因此,如果它为null,我想考虑该表中该属性的所有值 这是我的密码:Java 处理空值参数的JPA查询,java,hibernate,jpa,Java,Hibernate,Jpa,我想从JPA中的表中选择行,我的查询参数可以为null。 因此,如果它为null,我想考虑该表中该属性的所有值 这是我的密码: @Query("SELECT art FROM ArtWork art INNER JOIN art.subjects subject " + "INNER JOIN art.styles style " + "INNER JOIN art.collections collection " + "I
@Query("SELECT art FROM ArtWork art INNER JOIN art.subjects subject "
+ "INNER JOIN art.styles style "
+ "INNER JOIN art.collections collection "
+ "INNER JOIN art.priceBuckets priceBucket "
+ " WHERE ((subject.title) in (:subjectList) "
+ "AND (style.title) in (:styleList)"
+ "AND (collection.title) in (:collectionList)"
+ "AND (priceBucket.title) in (:priceBucketRangeList)"
+ "AND (art.medium is NULL OR art.medium = :medium)"
+ "AND (art.orientation) LIKE:orientation)"
+ ")")
在代码中,如果:medium为null,则我希望它搜索表中的所有介质
谢谢如果medium参数为null,请不要在查询中包含
和(art.medium为null或art.medium=:medium)
子句。谢谢JB,但我尝试了类似的方法来解决它。和(:medium为NULL或art.medium=:medium)@KaushikShanmugamNagaraj发布了与您的问题类似的答案,尽管它使用了标准API
,但概念是相同的。@ankur singhal,试试我用过的。。不必检查参数是否为空