标签: sorm

使用SORM通过纯SQL查询获取对象

是否可以通过纯SQL查询获取项目,而不是使用SORM通过DSL构建查询?

例如,是否有用于制作类似内容的API

val metallica = Db.query[Artist].fromString("SELECT * FROM artist WHERE name = ?", "Metallica").fetchOne() // Option[Artist]
Run Code Online (Sandbox Code Playgroud)

代替

val metallica = Db.query[Artist].whereEqual("name", "Metallica").fetchOne() // Option[Artist]
Run Code Online (Sandbox Code Playgroud)

scala sorm

9
推荐指数
1
解决办法
607
查看次数

SORM中的SQLite支持?

我正在为一个小型Scala项目寻找一个轻量级的Hibernate替代品,而SORM看起来非常有前景.目前我使用SQLite,但根据官方网站不支持.所以我的问题是有没有计划在SORM中添加SQLite支持?

orm scala sorm

9
推荐指数
1
解决办法
1074
查看次数

在Play Framework 2.3.8中使用SORM

我正在阅读Play Framework视频介绍,但是由于导入失败,我无法使用SORM创建数据库对象.

我试图添加依赖项plugins.sbt,并重新启动激活器,但似乎激活器找不到依赖项,我得到了,我得到一个unresolved error:

addSbtPlugin("org.sorm-framework" % "sorm" % "0.3.14")
addSbtPlugin("com.h2database" % "h2" % "1.4.181")
Run Code Online (Sandbox Code Playgroud)

我从Yvis存储库中获得了版本.我也尝试了其他版本没有更好的运气.

scala playframework-2.0 sorm

6
推荐指数
1
解决办法
1397
查看次数

为什么我在一个环境中而不是另一个环境中的sbt中出现了冲突的交叉版本?

我有一个带有这些依赖项的sbt项目:

libraryDependencies ++= Seq(
  "org.scalatra"           %% "scalatra"          % ScalatraVersion,
  "org.scalatra"           %% "scalatra-scalate"  % ScalatraVersion,
  "org.scalatra"           %% "scalatra-specs2"   % ScalatraVersion   % "test",
  "ch.qos.logback"         %  "logback-classic"   % "1.1.2"           % "runtime",
  "org.eclipse.jetty"      %  "jetty-webapp"      % "9.1.5.v20140505" % "container",
  "org.eclipse.jetty"      %  "jetty-plus"        % "9.1.5.v20140505" % "container",
  "javax.servlet"          %  "javax.servlet-api" % "3.1.0",
  "org.sorm-framework"     %  "sorm"              % "0.3.18",
  "com.h2database"         %  "h2"                % "1.4.187",
  "org.fusesource.scalamd" %  "scalamd_2.10"      % "1.6"
)
Run Code Online (Sandbox Code Playgroud)

在一台机器上,我可以毫无问题地运行./sbt; 另一方面,我明白了

[error] Modules were resolved with conflicting cross-version suffixes in {file:/C:/dev/scalaspace/game-tracker/}game-tracker:
[error]    org.scala-lang.modules:scala-xml _2.11, _2.12.0-M1
[error] …
Run Code Online (Sandbox Code Playgroud)

scala sbt sorm

6
推荐指数
1
解决办法
5478
查看次数

SORM:我怎样才能申报外键?

我对SORM非常感兴趣,但是当我尝试使用它时,我遇到了问题.假设我有两个实体:

case class User(login: String, firstName: String, lastName: String)
case class UserSite(userId: Int, name: String, url: String)
Run Code Online (Sandbox Code Playgroud)

如何声明外键关系UserSite.userId - > User.id?我看到类ForeignKey,但没有任何使用它的例子.

谢谢.

scala sorm

5
推荐指数
1
解决办法
636
查看次数

Sorm and Play Framework 2.1

我正在尝试将Sorm用于游戏框架项目.我正在使用使用Scala 2.10的2.1版本.问题是我的课程不被Sorm认可,我得到了ClassNotFoundException

这是我用过的:

package models

case class User(val name: String)

object Db extends Instance (
  entities = Set(Entity[User]()),
  url = "jdbc:h2:mem:test"
)
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

import models.{Db,User}

object Application extends Controller {
  def index = Action {
    Db.save(User("test")) // Error at this line
    Ok("saved")
  }
}
Run Code Online (Sandbox Code Playgroud)

例外情况:

play.api.Application$$anon$1: Execution exception[[ClassNotFoundException: models.User]]
    at play.api.Application$class.handleError(Application.scala:279) ~[play_2.10.jar:2.1-RC1]
    at play.api.DefaultApplication.handleError(Application.scala:373) [play_2.10.jar:2.1-RC1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$10$$anonfun$apply$27.apply(PlayDefaultUpstreamHandler.scala:296) [play_2.10.jar:2.1-RC1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$10$$anonfun$apply$27.apply(PlayDefaultUpstreamHandler.scala:294) [play_2.10.jar:2.1-RC1]
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:110) [play_2.10.jar:2.1-RC1]
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:110) [play_2.10.jar:2.1-RC1]
Caused by: java.lang.ClassNotFoundException: models.User
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_09]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_09]
    at java.security.AccessController.doPrivileged(Native …
Run Code Online (Sandbox Code Playgroud)

playframework-2.1 sorm

5
推荐指数
1
解决办法
1018
查看次数

如何在Sorm中为有很多孩子的实体建模?

我有一个WorkspaceDocument实体,其想法是工作空间可以包含零个,一个或多个文档.我对此进行建模的第一种方法是:

case class Workspace(name: String, documents: Seq[Document])
Run Code Online (Sandbox Code Playgroud)

但由于我的工作区可能包含许多文档,因此无法很好地扩展.幸运的是,我的业务需求,允许我单独处理工作空间和文件(在这个意义上,当我有一个工作空间,也没有迫使我考虑其中包含的所有文件的原因还是不变).

问:我想知道:我将如何建模WorkspaceDocumentSORM使我有两个之间的联系,但没有加载一个工作区的所有文件?我想有一个存储库可以让我访问工作区的文档,并提供分页支持.)

case class Workspace(name: String)
case class Document(name: String, /* ... */)

trait WorkspaceRepository {
  def children(ws: Workspace, offset: Long, limit: Long)
}
Run Code Online (Sandbox Code Playgroud)

scala sorm

3
推荐指数
1
解决办法
720
查看次数

如何在Play Framework中使用SORM框架?

我发现SORM非常有趣且有前途,但我找不到一种方法来整合它与任何指南玩?

orm scala playframework sorm

3
推荐指数
1
解决办法
3654
查看次数

在Play Framework中使用SORM会导致抛出异常异常

我一直在努力让SORM使用Play Framework 2.2-SNAPSHOT以及2.1.1.目前,我正在尝试运行我创建的简约示例应用程序,以便更轻松地跟踪问题.不幸的是,我收到的错误消息对我没有任何帮助.

val appDependencies = Seq(
    "org.sorm-framework" % "sorm" % "0.3.8",
    "com.h2database" % "h2" % "1.3.168"
)
Run Code Online (Sandbox Code Playgroud)
# Database configuration
#
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=""
Run Code Online (Sandbox Code Playgroud)
case class Car( brand: String, wheels: Int )

object Db extends Instance( Seq( Entity[Car]() ), "jdbc:h2:mem:play" )
Run Code Online (Sandbox Code Playgroud)
object Application extends Controller {
  def index = Action {
    Db.query[Car].count()
    Ok("hello wolrd")
  }
}
Run Code Online (Sandbox Code Playgroud)

此堆栈跟踪中的结果:

play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.NoSuchMethodError: scala.reflect.internal.TreeInfo.firstArgument(Lscala/reflect/internal/Trees$Tree;)Lscala/reflect/internal/Trees$Tree;]]
    at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.1]
    at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$17$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:326) [play_2.10.jar:2.1.1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$17$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:324) [play_2.10.jar:2.1.1]
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) …
Run Code Online (Sandbox Code Playgroud)

reflection scala playframework sorm

3
推荐指数
1
解决办法
1544
查看次数