我正在与项目的PL / SQL开发人员合作。另一个开发人员正在编写我需要调用的存储过程。
其中一个存储过程需要返回有关产品的所有内容:
名称,价格,描述,颜色, 重量,制造商等 - (15 信息总数)
我假设存储过程接受一个IN参数,product-id并返回15 OUT参数。
存储过程是否可以返回可以转换为自定义数据类型的对象?这是一种典型的技术,还是通常会返回多个OUT参数?
答案 0 :(得分:3)
我的偏好是程序(或者只是检索产品信息,一个函数)返回了一个PL / SQL产品对象,Java代码将其检索为java.sql.STRUCT或更强类型对象
Oracle在其网站上提供了这两种方法的示例代码。以下是java.sql.STRUCT approach的示例。这是strongly typed object approach。强类型示例使用JPublisher创建强类型对象类,但JDBC Developer's Guide引导您创建自己的映射。
答案 1 :(得分:0)
Hibernate provides a way将sql查询或存储过程的结果映射到java对象。它是一个复杂的对象 - 关系映射解决方案,但在大多数情况下,这是值得的。
答案 2 :(得分:-2)
SQL查询无法以任何方式返回对象 你应该只返回一个select运算符的结果,然后用结果自己构造一个对象