2017-11-10 24 views
0

のような例外がありますが、例外である:ここでは私はここでinvalidDataAccessApiUsageException

org.springframework.dao.InvalidDataAccessApiUsageException: Encountered array-valued parameter binding, but was expecting [java.lang.String (n/a)]; 
nested exception is java.lang.IllegalArgumentException: Encountered array-valued parameter binding, but was expecting [java.lang.String (n/a)] 

は私のリポジトリである:ここでは

@Repository 
public interface FirmRepository extends JpaRepository<Firm, Integer> { 
    Page<Firm> findAll(Pageable page); 

    List<Firm> findByParentFirm(Firm firm); 

    @Query(value = "FROM Firm WHERE name = :name") 
    Firm findByName(@Param("name") final String[] name); 
} 

は私のサービスです。

/** 
    * Gets the Application type by name 
    */ 
    public Firm getFirmByName(final String[] name) throws ResourceNotFoundException, ForbiddenOperationException { 
     //LOGGER.debug("Getting the firm with name=[{}]", strings); 
     return firmRepository.findByName(name); 
    } 
} 
+0

List<String> firmNames = Arrays.asList(names);として0

あなたは、配列をリストに変換することができます。 – BiginByHelloWord

+0

私は何をするのですか? – BiginByHelloWord

+0

JPAについてはわかりませんが、クエリ自体は動作しないようです。あなたは 'name IN()'を使うべきです。前のコメントで述べたように、名前を複数形にしてみてください。 – MohamedSanaulla

答えて

0

以下は

を動作するはずです 私はこの配列に含まれる値は、[0] .splitを(「」)私のデータベース のString [] tabFirmName =の行に存在する場合を見てみたい