私は JPA を使い始めたばかりで、次のようなことを達成するための最良の方法を知りたいと思っています。スクリプトのリストを返すサービスを実装する必要があり、各スクリプトにはパラメーターのリストがあります。クエリを簡略化しましたが、次のようなものです。
(SELECT
p.DESC
FROM
INPUT_PARAMETERS p
INNER JOIN SCRIPT_PARAMS sp ON p.PARAM_ID = sc.PARAM_I
INNER JOIN SCRIPT s ON s.SCRIPT_ID = sc.SCRIPT_ID
WHERE
s.NAME = 'name')
UNION
(SELECT
p.DESC
FROM
OUPUT_PARAMETERS p
INNER JOIN SCRIPT_PARAMS sp ON p.PARAM_ID = sc.PARAM_I
INNER JOIN SCRIPT s ON s.SCRIPT_ID = sc.SCRIPT_ID
WHERE
s.NAME = 'name')
そして、次のような POJO オブジェクトのリストを返したいと思います。
public class Script {
private String name;
private List<String> params;
public Script(){}
public String getName()
{
return name;
}
public void setName(String pName)
{
name = pName;
}
public List<String> getParams()
{
return params;
}
public void setParams(List<String> pParams)
{
params = pParams;
}
}
クエリから POJO オブジェクトをロードする最良の方法を知りたいです。JPQL クエリを作成するのが最善ですか、それともネイティブの名前付きクエリを使用できますか? object[] を取得して POJO を手動で構築する必要がありますか? それとも、JPA を使用してクエリからオブジェクトをロードできますか?