2017-09-22 10 views
0

私は春データJPAでネイティブクエリを持っている:変更スキーマ

@Repository 
public interface BookRepository extends JpaRepository<Book, Integer>{  
    @Query(value = "select * from DEV.Book where find_in_set(market)", nativeQuery = true) 
    public List<Book> findBooksByMarcket(@Param("market") String market); 
} 

今、私は動的に私の接続SIT/PRODに基づいてDEV.Bookを変更したい、に基づいて、接続私は動作しなかったネイティブクエリに文字列を渡そうとしました。それを行う最善の方法は何ですか?

答えて

0

接続にスキーマを設定し、スキーマなしでクエリを終了する必要があります。

0

クエリから名前空間を削除するには、いくつかの方法があります。

たとえば、名前空間を持たない3つのデータベースを持つことができます。プロパティを使用してデータベース接続を構成すると、異なる起動プロパティまたはプロパティファイルを提供することで簡単に切り替えることができます。

0

あなたはこの方法でそれを使用することができます。

@Override 
public List<Book> findBooksByMarcket(String market) { 

    TypedQuery query = em.createNativeQuery("select * from DEV.Book where find_in_set(?)", Book.class); 
    query.setParameter(1, market); 

    return query.getResultList(); 
} 
関連する問題