代码之家  ›  专栏  ›  技术社区  ›  Nuñito Calzada

Spring JPA-查询方法

  •  0
  • Nuñito Calzada  · 技术社区  · 2 年前

    我有这张桌子:

    @Entity
    @Table(name = "t_tropical",
            uniqueConstraints =
            @UniqueConstraint(columnNames = {
                    "name",
                    "sign",
                    "isRetro",
                    "house",
                    "lang"}))
    @Getter
    @Setter
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    @ToString
    public class Tropical {
    
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        private String name;
        private String sign;
        private Boolean isRetro;
        private Integer house;
        private String lang;
        private Date updateDate;
        
    }
    

    并且该方法:

    @Repository
    public interface TropicalRepository extends JpaRepository<Tropical, Long> {
    
        Tropical findByHouseIsAndSignAndIsRetroAndLangIs
                (Integer house, String sign, Boolean retro, String lang);
    
    }
    

    但似乎不起作用。我找到了现有房屋/标志/isRetro和土地并返回null

    1 回复  |  直到 2 年前
        1
  •  0
  •   WLefever    2 年前

    使用JPA命名约定,正确的查询应该如下所示:

    @Repository
    public interface TropicalRepository extends JpaRepository<Tropical, Long> {
    
        Tropical findByHouseAndSignAndIsRetroAndLang
                (Integer house, String sign, Boolean retro, String lang);
    
    }
    

    在您的查询中似乎有 Is 附加到 House Lang 。这些无法根据实体中的属性进行解析。

        2
  •  0
  •   Julian    2 年前

    请确保您遵循此处记录的springDataJPA命名约定: spring-data-derived-queries

    在你的例子中,你似乎没有遵循

    推荐文章