前提・実現したいこと
初心者のため、わかりにくい部分がありましたら申し訳ございません。
データベースにある、hoge_0~hoge_99というテーブルそれぞれに同じSQL文の処理を実行させたいです。
発生している問題・エラーメッセージ
for文で繰り返しの処理を書き、hoge_0は正常に実行されているようですが、次の処理でhoge_$1というテーブルを指定してSQL文が走ってしまっています。
そのため、nested exception is org.postgresql.util.PSQLException: ERROR: relation "hoge_$1" does not existというエラー文が出ています。
この$はどのような仕組みで発生してしまっているのでしょうか。
また、どのようにすればこの$を付けることなく、hoge_1,hoge_2...としていけるでしょうか。
ご存知の方いらっしゃいましたら、ご教示お願いいたします。
該当のソースコード
Java
1■■■■■■■■■■■■■■■■■■■■Controller.java■■■■■■■■■■■■■■■■■■■■ 2:略 3@Autowired 4 private HogeDao HogeDao; 5 6@RequestMapping(value = "/hogeData", method = RequestMethod.GET) 7 @CrossOrigin 8 public Optional<Hoge> hogeData() { 9 List<Integer> ids = new ArrayList<Integer>(); 10 Integer fugaId = 10000; 11 for (int i = 0; i < 100; i++) { 12 ids.add(HogeDao.selectById(i, fugaId)); 13 } 14 return null; 15 } 16:略
Java
1■■■■■■■■■■■■■■■■■■■■HogeDao.java■■■■■■■■■■■■■■■■■■■■ 2:略 3/** 4 */ 5@ConfigAutowireable 6@Dao(config = DomaConfig.class) 7public interface HogeDao { 8 9 /** 10 * @param i 11 * @param fugaId 12 * @return the Hoge entity 13 */ 14 @Select 15 Integer selectById(int i, Integer fugaId); 16:略
SQL
1■■■■■■■■■■■■■■■■■■■■selectyId.sql■■■■■■■■■■■■■■■■■■■■ 2select 3 id 4from 5 hoge_/* i */1 6where 7 fugaId = /* fugaId */1
回答1件
あなたの回答
tips
プレビュー