我已经阅读了一篇名为Blogging with Noir的博文,我真的很惊讶作者使用java.jdbc代替Korma这样的库,我觉得这很令人惊讶。在代码中编写SQL查询而不是让工具为您执行此操作有什么好处?
答案 0 :(得分:9)
我想通常的原因是你可以选择直接在Clojure中使用API而不是使用包装器:
最终这是一个权衡 - 以上是您可能想要使用底层API的原因,但是您可以选择使用包装器的理由相同:
答案 1 :(得分:7)
Korma IMO几乎没有准备好用作SQL的完全替代品。它绝对方便,但是现在很多我的查询都有(原始的“......”)片段,而对于更复杂的东西,所有的主要查询都是在SQL视图中完成的,然后通过korma选择。
主要替代方案ClojureQL甚至不适用于Clojure 1.3 +
简而言之,它是 hard 抽象SQL和Korma - 即使它试图最小化,这意味着你仍然必须很好地理解SQL才能使用它 - 还没有完成。
答案 2 :(得分:3)
我可以考虑两个原因: