Orm 用于Scala的Morphia

Orm 用于Scala的Morphia,orm,scala,mongodb,morphia,Orm,Scala,Mongodb,Morphia,可以在Scala中使用Morphia吗 是否有其他支持scala的MongoDB轻量级ORM?查看Salat: Salat使用pickle Scala签名来序列化和反序列化案例类。我更喜欢“Mongo Scala驱动程序”: Morphia只是一个基于mongo java驱动程序的持久层,它使用JPA样式的注释进行对象映射。它应该与Scala完美配合 在“原生”Scala驱动程序中(值得一提的是,所有这些驱动程序也都基于mongo java驱动程序),在意识形态上与Morphia最接近(尽管它

可以在Scala中使用Morphia吗

是否有其他支持scala的MongoDB轻量级ORM?

查看Salat:

Salat使用pickle Scala签名来序列化和反序列化案例类。

我更喜欢“Mongo Scala驱动程序”:


Morphia只是一个基于mongo java驱动程序的持久层,它使用JPA样式的注释进行对象映射。它应该与Scala完美配合

在“原生”Scala驱动程序中(值得一提的是,所有这些驱动程序也都基于mongo java驱动程序),在意识形态上与Morphia最接近(尽管它不使用注释,这不被认为是Scala惯用的)

可能更加平易近人,学习曲线(更)平滑,但重要的是要认识到,当查询比Morphia高出一个级别时,静态类型安全和自动完成支持提供给您Morphia Morphia仅是运行时安全的,他们也承认这是正确的

比较:

val checkin: Option[Checkin] =
  Checkin where (_.venueid eqs id)
    and (_.userid eqs mayor.id)
    and (_.cheat eqs false)
    and (_._id after sixtyDaysAgo) 
    limit(1).get()
vs

如果您将任何字段名或查询值更改为不正确,则会立即出现键入错误,而Morphia只会在运行时引发异常


尽管我喜欢沙拉,但胭脂确实很有帮助。最后,我还是使用了Morphia。如果我们想使用Rogue,我们必须使用Lift,不是吗?在Scala实现中使用基于Java的驱动程序是否存在性能问题或“效率低下”?只是好奇。@imaginonic:从逻辑上来说,如果JVM从最初的
.java
文件调用代码,而不是从
.scala
文件调用代码,那么不应该——我认为这并不重要。。。但是有更好的洞察力的人可以证实。@jpartogi:Lift不如Web框架中的Lift;只要
lift record
就可以了。我什么时候可以找到它的复杂演示?我试了一天,但仍然不知道如何保存
用户引用的许多问题
模型。
Employee scottsBoss =
  ds.find(Employee.class).filter("underlings", scottsKey).get();