我搜索了一下....我看到很多优点,但似乎所有的优点都是与内联SQL进行比较得出的。我知道内联SQL是不好的。但为什么要拿一个不好的东西来比较,以显示另一个更好呢?
如果使用存储过程(可能是唯一的),似乎所有的优点都不存在了。存储过程在安全性、性能(如果ORM可以跑赢存储过程,那么存储过程就写得很糟糕)方面确实提供了性能优势,并且写得好的存储过程是自动存储库(模式)。存储过程肯定可以提供更好的事务和事务隔离控制。
我真的很感激一个答案——ORM如何优于使用存储过程的良好架构应用程序。
--- 感谢我收到的所有答案......似乎优点仍然来自于将ORM的“动态生成的SQL”与代码中的“静态编写的内联SQL”进行比较。是的,它有优点。但这不是问题。
问题更好地陈述为以下内容:
如果您考虑使用存储过程来实现业务逻辑(SP可以编写得非常先进,也可以编写得非常高效),在应用程序代码(.NET、JAVA)中,您有一个非常薄的层包装由业务需求组织的存储过程。我的问题是ORM如何优于这种架构(当然,是良好设计的架构)。
如果使用存储过程(可能是唯一的),似乎所有的优点都不存在了。存储过程在安全性、性能(如果ORM可以跑赢存储过程,那么存储过程就写得很糟糕)方面确实提供了性能优势,并且写得好的存储过程是自动存储库(模式)。存储过程肯定可以提供更好的事务和事务隔离控制。
我真的很感激一个答案——ORM如何优于使用存储过程的良好架构应用程序。
--- 感谢我收到的所有答案......似乎优点仍然来自于将ORM的“动态生成的SQL”与代码中的“静态编写的内联SQL”进行比较。是的,它有优点。但这不是问题。
问题更好地陈述为以下内容:
如果您考虑使用存储过程来实现业务逻辑(SP可以编写得非常先进,也可以编写得非常高效),在应用程序代码(.NET、JAVA)中,您有一个非常薄的层包装由业务需求组织的存储过程。我的问题是ORM如何优于这种架构(当然,是良好设计的架构)。