标签: circumflex-orm

Derby和Circumflex ORM的SQL语法错误

我正在尝试使用Circumflex ORM(在StackOverflow上建议 - 这里,这里这里)通过JDBC从Scala项目(使用简单的构建工具构建)连接到本地(嵌入式)Apache Derby数据库.我仔细按照说明操作,但我遇到了一些有趣的问题.

这是cx.properties文件的驱动程序和URL组件:

orm.connection.driver=org.apache.derby.jdbc.EmbeddedDriver
orm.connection.url=jdbc:derby:derbyDB
Run Code Online (Sandbox Code Playgroud)

(这些映射到"反射驱动程序的实例创建和创建连接"模型与原始JDBC或persistence.xml中的等价物 - Circumflex使用一个简短而又甜蜜的属性文件,因为,你知道,它不是XML,这是一个很好的事情.)

我在sbt项目文件中添加的直接相关的依赖项是:

  "ru.circumflex" % "circumflex-orm" % "1.0",
  "org.apache.derby" % "derby" % "10.6.1.0"
Run Code Online (Sandbox Code Playgroud)

我创建了一个简短的示例模型,它定义了文档描述的表的简化版本:

import java.sql.DriverManager
import ru.circumflex.orm._

class Country extends Record[Country] {
  val code = "code" VARCHAR(2)
  val name = "name" TEXT
}

object Country extends Table[Country]
Run Code Online (Sandbox Code Playgroud)

这似乎编译好了,我可以实例化Country对象(使用sbt控制台调用的Scala 2.8.0 RC5 shell)并创建一个ActiveRecord对象样式,然后像这样保存:

val c = new Country
c.code := "US"
c.name := "United States of America"
c.save
Run Code Online (Sandbox Code Playgroud)

根据文档,这应该对对象运行验证,然后将其插入数据库.我得到以下异常:

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "public" at …
Run Code Online (Sandbox Code Playgroud)

orm scala jdbc derby circumflex-orm

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

标签 统计

circumflex-orm ×1

derby ×1

jdbc ×1

orm ×1

scala ×1