我正在尝试调用java sp,它具有选择查询,例如
Select a.name, b.age from tablea a, tableb b where a.emp=b.emp;
我不确定如何为此创建实体类以及如何调用。
我做过类似的编码,在Java sp中,它接受一个输入,而选择查询仅涉及一个表。
请找到相同的演示代码
实体类
@NamedStoredProcedureQuery
(name="test",
procedureName="GETALLOP",
resultClasses=AfltModel.class,
parameters={
@StoredProcedureParameter(mode = ParameterMode.IN, name = "someinput", type = Integer.class),
@StoredProcedureParameter(mode = ParameterMode.OUT, name = "OUT_RETURN_CODE", type = Integer.class),
@StoredProcedureParameter(mode = ParameterMode.OUT, name = "OUT_RETURN_MESSAGE", type = String.class),
@StoredProcedureParameter(mode = ParameterMode.OUT, name = "OUT_MESSAGE_SOURCE", type = String.class)
})
@Entity
@Data
public class AfltModel {
@Id
@Column(name="FUTR.CORP_CUST_ID")
int corpcustid;
@Column(name="FUTR.AFLT_CUST_ID")
String afltcustid;
}
执行类
@Component
public class ServiceClass {
@Autowired
EntityManager entityManager;
public List> getdata(List inputList) {
List> list = inputList.stream()
.map(id -> entityManager
.createNamedStoredProcedureQuery("test").setParameter("IN_ACCT_ID", id)
.getResultList())
.collect(Collectors.toList());
return list;
}
}
请让我知道如果我们必须使用entitymanger来调用java sp并且如上所述,sp没有接受任何输入并且具有多个表,那么我们将如何实现相同的目标。