解决方法
存在的程序是一个不好的做法,原因有很多.
最重要的一个是分离问题.使用存储过程,您在数据层中具有业务逻辑,而不是其所属的服务层.一个后果是,您现在只有一种语言和一种语言才能实现您的业务逻辑.随着新技术的发展,您没有很好的迁移路径.
避免存储过程的另一个坚实的原因是存储过程在您和DB供应商之间创建了一个很强的联系.对于不同的数据库供应商来说,很难改变,而在服务层中拥有业务逻辑可以让您轻松交换数据库.所以,存储过程为DB供应商提供了很大的好处,而不是给你这么多.
接下来,可扩展性.在中间层创建服务非常简单,并将其分布在集群中.你如何用存储过程来做这个?我认为,即使是八台机器也难以集中存储过程.
接下来,与其他系统集成.如果您的系统从数据库中拉取数据,依赖存储过程和其他系统的其他数据,那么该逻辑几乎肯定必须在服务层中.如果您的某些业务逻辑在服务层,而某些业务层面,则会有一些维护麻烦.