代码之家  ›  专栏  ›  技术社区  ›  Enamul Haque

如何使用hibernate在spring引导的fillAll方法中添加where条件

  •  0
  • Enamul Haque  · 技术社区  · 6 年前

    我使用的是带有hibernate的Spring boot框架。我只想在特定条件下显示数据库中的所有数据。这是我的问题

    SELECT * FROM `client_master` WHERE CLIENT_GROUP='S' 
    

    我想得到客户机组数据只有S的数据。我用bellow cod进行了spring boot。。

    1. 型号我用了下面的代码。。

       @Entity
      @Table(name = "client_master")
      public class ClientMasterModel {
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        @Column(name= "ID")
        private int ID;
      
        @Column(name= "NAME")
        private String name;
      
        //getter or setter
       }
      
    2.   public interface Staff_Add_Repository extends JpaRepository<ClientMasterModel, Long> {
      
      }
      
    3. 在服役期间,我使用了下面的代码。。

        @Autowired
      Staff_Add_Repository add_Repository;
      
      
       public List<ClientMasterModel> findAll(){
         return add_Repository.findAll();
       }
      

      上面的方法返回所有数据。我只想得到具体的数据。

    0 回复  |  直到 6 年前
        1
  •  0
  •   Bor Laze    6 年前

    尝试

    List<ClientMasterModel> findByClientGroup(String clientGroup); 
    
        2
  •  0
  •   pirho    6 年前

    假设您有一个名为 clientGroup ClientMasterModel 您只需要一个正确命名的方法,如果您愿意的话,还可能需要存储库中的默认包装方法,如下所示:

    public interface Staff_Add_Repository
                extends JpaRepository<ClientMasterModel, Long> {
    
        List<ClientMasterModel> findByClientGroup(String clientGroup);
    
        default List<ClientMasterModel> findWhereClientGroupIsS() {
            return findByClientGroup("S");
        }
    
    }
    

    还有 findAllBy findBy . 见 this question