我想了解
Liftweb应用程序中选择使用
Record,Mapper甚至两者的用例,优点和不便.
当我试图:
>为模型类创建一个树状结构
>为页面中的类创建类似于树的结构
>确保树中的不同类可以在不同的状态同时进行.一个是在EDIT或CREATE状态,另一个在VISUALIZE状态.
>模型类可以被创建,读取或保存到已经运行的RESTful Web Service中.
我正在把用例记录在案.你可以以更一般的方式回答.
解决方法
电梯升降机之前,制图工具已经是电梯的一部分.这是数据库和Scala之间的一个简单的“活动记录”风格的桥梁.我根据这里概述构建了Mapper:
http://web.archive.org/web/20070303054927/http://blog.lostlake.org/index.php?/archives/19-Keeping-the-meaning-with-the-bytes.html
http://web.archive.org/web/20070303054927/http://blog.lostlake.org/index.php?/archives/19-Keeping-the-meaning-with-the-bytes.html
Mapper与JDBC和关系数据库密切相关. Mapper有一个合理的机制来构建简单的查询,但对于复杂的东西,人们必须手写sql.
Mapper是坚实的,但很厉害.
记录是后备存储和Scala之间更通用的抽象.它在“保持字节意义”中概述的想法较弱,并且很少有人注意或关心.
有MongoDB,CouchDB,Squeryl和其他存储机制的Record实现.写一个新的后端是几天的工作.
记录有很多“异常”,每个后端都有自己的怪癖.当前的记录所有者已经开始对Record进行批发重构.
我不认为Record或Mapper会给你“开箱即用”的树状结构,除非您使用MongoDB后端,在这种情况下,您的树结构将基于JSON文档而不是关系.