我知道Oracle中的存储过程可以用PL / SQL和Java编码.
我可以知道有什么优点和缺点.
我正在考虑获得PL / SQL认证,但我发现PL / SQL优于Java SP没有太多优势.
我发现我的大多数开发人员都是java高效的,因此在Java上开发SP更有意义,因此他们不必学习另一种语言. (减少开发时间和并发症)
1)我应该坚持用Java编写SP吗?
解决方法:
我在编写Java存储过程方面有一些经验,所以我想我绝对可以对这个主题有所了解.我和其他首席开发人员一起将Oracle的工作流程 – 从PL / SQL到Java存储过程的核心引擎,从VC到Eclipse RCP的WF构建器和运行时查看器.
为什么我们选择Java SP?
>将来,WF Engine可以从数据库移出到专用的App Server上.
>工作流程需要触发并响应事件.使用JMS很容易完成.
> Oracle还提供了一个名为AQs(高级队列)的JMS实现.
> AQ由数据库表支持.因此,查询UI的事件数据相当容易.
>从Java存储过程访问AQs既快速又简单(无网络开销).
面临的问题
> JVM支持不是最新的.我们不得不支持Oracle 9所以编写引擎来处理JDK 1.3,这是一个痛苦的问题. Oracle 10转向JDK 1.4,我认为现在使用JDK 1.6看起来好多了我已经知道Oracle 11中的JDK 1.5支持仍然落后.
>有时您遇到的情况是Trigger或Ref游标,即某些PL / SQL构造最适合.如果您的应用程序必须完全使用Java,则可能需要寻找解决方法.否则,您可以在PL / SQL中实现该功能并从Java调用它.我们没有这种*.