首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有给Haskell的ORM工具吗?

问有给Haskell的ORM工具吗?
EN

Stack Overflow用户
提问于 2008-09-19 19:50:12
回答 6查看 13.7K关注 0票数 37

使用Haskell与数据库交互的最佳方法是什么?我习惯于使用某种ORM (Django的ORM,hibernate等)在用HAppS创建应用程序时,类似的东西会更好。

编辑:,我希望在实际数据库的范围内可以自由地从Postgresql、MySql和SQLite中选择。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-19 22:48:34

我心目中的库不是ORM,但它仍然可以做您想做的事情。

如果您想要使您的数据库访问安全的东西,同时很好地集成到您的程序中,那么尝试一下HaskellDB。它主要查看您的模式,生成一些数据结构,然后提供类型安全的查询方式。它已经存在了很长一段时间,社会舆论认为它是好的和稳定的。

要使用它,您需要一些底层的Haskell库,比如HSQL。

祝好运!

票数 15
EN

Stack Overflow用户

发布于 2008-11-15 22:52:56

ORM库存在的原因是,C#或Java中的对象与数据库中存储的对象之间存在较大的差异。在Haskell,这不是一个问题,因为:

  1. 它没有对象
  2. 数据库和Haskell都有数学集合论的启发,因此它们之间的摩擦要比数据库和对象之间的摩擦小得多。
票数 12
EN

Stack Overflow用户

发布于 2013-05-28 22:26:09

持久化是相当好的使用,并允许您依靠类型推断来确定您的查询所涉及的表。例如,如果我的“模型”文件中有以下内容:

代码语言:javascript
复制
User
    name Text
    age Int

Login
    user UserId
    login Text
    passwd Text

然后我就可以这么做:

代码语言:javascript
复制
Just (Entity uid _)          <- selectFirst [ UserName ==. "exampleUser" ] []
Just (Entity lid Login {..}) <- selectFirst [ LoginUser ==. uid ] []

它就会知道我指的是哪几张桌子。当然,您可能不想编写这样的部分代码,但我只想强调查询。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/104960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档