[英]Can Oracle DBMS return a Java object from a Java stored procedure call?
[英]Can an Oracle stored procedure return an object useable in Java?
我正在与一个项目的PL / SQL开发人员一起工作。 另一个开发人员正在编写我需要调用的存储过程。
存储过程之一需要返回有关产品的所有信息:
名称,价格,描述,颜色,重量,制造商等-(共15条信息)
我假设存储过程将接受一个IN参数,product-id并返回15个OUT参数。
有没有一种方法可以使存储过程返回可以转换为自定义数据类型的对象? 这是一种典型的技术,还是您通常会返回多个OUT参数?
我的偏爱是该过程(或者,如果只是检索产品信息,则是一个函数)返回了一个PL / SQL产品对象,Java代码将其作为java.sql.STRUCT或更强类型的对象来检索。
Oracle在其网站上提供了这两种方法的示例代码。 这是java.sql.STRUCT方法的示例。 这是强类型对象方法 。 强类型示例使用JPublisher创建强类型对象类,但是《 JDBC开发人员指南》将引导您创建自己的映射。
Hiberante 提供了一种将sql查询或存储过程的结果映射到java对象的方法。 它是一个复杂的对象关系映射解决方案,但是在大多数情况下,这是值得的。
SQL查询不能以任何方式返回对象,您应该只返回选择运算符的结果,然后使用该结果自己构造一个对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.