标签: sql oracle hibernate plsql orm
我们有像ORM一样的ORM工具来抽象数据库,通常所有业务逻辑都驻留在应用程序中。这意味着我们可以轻松地更改数据库,但是会锁定应用程序实现。
另一种方法是将业务逻辑驻留在数据库中:存储过程,函数和触发器。这意味着我们被锁定到数据库,但可以轻松地更改应用程序中间件。
为什么前一种选择更常见?通常,无论如何都不会改变数据库。反过来,存储过程会减少带宽负载并且可能更快。当然,存储过程更难以维护。每种解决方案的其他优缺点是什么?