1. DatasetDetail ํ ์ด๋ธ
dataset_id๋ฅผ ์ธ๋ํค๋ก ๊ฐ์ง๊ณ ์๋ ์์ฒญ ํ ์ด๋ธ์
2. ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก ์ ์คํ๋๋์ง ์ฒดํฌ
SELECT * FROM datasetDetail WHERE dataset_id = 59
3. repository ํด๋์ค์์ ์ฟผ๋ฆฌ ์คํํ๋ ค๊ณ ํ์ผ๋ ์คํจํจ.
public List<DatasetDetail> findByDatasetId(Long id)
{
//System.out.println("dataset id : " + dataset.getId());
return em.createQuery("select d from DatasetDetail d where d.dataset = :dataset", DatasetDetail.class)
.setParameter("dataset", id)
.getResultList();
}
4. ์์ธ๋ถ์
where ์ ์์ d.dataset = :dataset์ผ๋ก ๊ฒ์ํ ๋, ์ธ๋ํค์ ์์ด๋ ๊ฐ๋ง ๋ฃ์ด์ฃผ๋ฉด ๋๋ค๊ณ ์๊ฐํ๋๋ฐ
d.dataset.id = :dataset์ผ๋ก ๊ฒ์ํด์ผ ์ ๋๋ก ๊ฒ์์ด ๋จ.
์๊ฐํด๋ณด๋ฉด longํ์ผ๋ก id๋ฅผ ๋๊ฒจ์คฌ๋๋ฐ ์ค์ ํ ์ด๋ธ์ dataset์ด๋ผ๋ ํ๋๋ entity๊ฐ์ฒด ๊ทธ ์์ฒด์ด๋ฏ๋ก compare์์ฒด๊ฐ ์๋๋๊ฒ ๋ง๋๋ฏ.
์์ ํ ์ฝ๋
public List<DatasetDetail> findByDatasetId(Long id)
{
//System.out.println("dataset id : " + dataset.getId());
return em.createQuery("select d from DatasetDetail d where d.dataset.id = :dataset", DatasetDetail.class)
.setParameter("dataset", id)
.getResultList();
}
๋ง์ฝ ๊ฐ์ฒด๋ก ์กฐํํ๊ณ ์ถ๋ค๋ฉด ํ๋ผ๋ฏธํฐ๋ก Long id๋ฅผ ๋ฐ๋๊ฒ ์๋๋ผ Dataset์์ฒด๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ผ ํ๋ค.
๊ฐ๋ น
public List<DatasetDetail> findByDatasetId(Dataset ds)
{
//System.out.println("dataset id : " + dataset.getId());
return em.createQuery("select d from DatasetDetail d where d.dataset = :dataset", DatasetDetail.class)
.setParameter("dataset", ds)
.getResultList();
}
์ด๋ ๊ฒ ๋ง์ด๋ค.
entity๊ฐ์ฒด ์์ฒด๋ก๋ ์กฐํ๊ฐ๋ฅํ๊ฒ์ ์ข ์ ๊ธฐํ๋ค.
๋๊ธ