在什么类型的应用程序或场景中PL/SQL作为后端更好?

Jig*_*hah 2 java plsql hibernate jpa

我是一名java/j2ee开发人员.对于ORM,我总是喜欢JPA/JTA或者hibernate.因为它给了我便携性.但对于大规模应用,可移植性有时并不重要.很多时候他们要求使用PL/SQL作为BE.我总觉得没必要.除了ARRAY和调度等.使用PL/SQL,应用程序逻辑在java和PLSQL中变得支离破碎.

什么是业务/应用场景,其中PLSQL在性能/设计/可维护性方面更好.

duf*_*ymo 6

答案通常取决于您是喜欢对象还是关系数据库.

DBA会争辩说中间层应用程序来去匆匆,但关系数据库永远存在.对于关系数据库来说,可移植性很少很重要,特别是如果一家公司在Oracle上进行了大量投资.迁移到其他供应商的决定不会轻易做出.

DBA可能更喜欢存储过程,因为它的行为类似于Java接口,并使用户免受底层架构细节的影响.只要存储的proc参数不变,他/她就可以修改模式.

有时,存储过程有助于提高性能.为什么在中间层上查询大型数据集,处理它,并在数据库服务器上进行所有计算时将其放回数据库中?

使用存储过程会强制您在中间层和服务器上进行维护,但这是一种选择.

我不相信有一个硬性和快速的答案会说对象或存储过程总是正确的.如果这就是你要找的东西,我恐怕你会失望的.