问题标签 [squeryl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Squeryl - “CustomTypesMode 不是包 org.squeryl.customtypes 的成员”?
我已经用 SBT 构建了 Squeryl 框架,并试图将它与 Scala 2.8 和 NetBeans 6.9 一起使用。我已经定义了一个实体模型,因为它在 Squeryl intro 中被描述,但是 IDE 和编译器抱怨“CustomTypesMode 不是包 org.squeryl.customtypes 的成员”。可能是什么原因?
orm - 使用 Squeryl 持久化集合
如何使用 Squeryl持久化集合字段(例如List[String]
或)?Set[Int]
对它进行编码以使 Squeryl 不会创建关联表的最佳方法是什么?
scala - 从 squeryl 上的关系中选择
我正在测试(尝试)squeryl 的关系建模功能
如果我尝试使用以下代码测试该代码:
我收到以下错误:
异常是从findBars的主体中抛出的。我想不出任何可能导致此类问题的事情。有没有人遇到过类似的情况?
由于 Daniel 指出这可能是一个编译问题,因此我将附加build.properties和project.scala中的一个属性
;
scala - 在 squeryl 中引用表名
我在 mysql 数据库中有一个名为 group 的表。当我将此表映射到 squeryl 时,我收到 SQL 语法错误,因为表名组没有被引用(应该是 select * from `group`)。
有什么方法可以告诉 squeryl 引用某些表名吗?
scala - SQueryL 波浪号运算符有什么作用?
我正在阅读有关更新的 SQueryL文档,我看到:
我很难从 SQueryL 源代码中找到 ~ 方法,而链接的文档显然也没有告诉我它的作用。有人愿意解释吗?
scala - 阅读 Scala DSL 代码的最佳方法是什么?
在 Squeryl入门页面上有一个 Scala 代码示例:
我很困惑,因为 % 不是 RichString 或 String 类中定义的方法。我最好的猜测是它在别处定义并称为隐式转换。
在 Scala 中阅读和理解此类代码的最佳方法是什么?
orm - 如何将会话/事务获取封装到 Squeryl 中关系的惰性初始化中?
我正在尝试使用 Squeryl 实现一对多关系,并按照他们网站上的说明进行操作。
该文档提供了以下示例:
我发现任何调用Course.subject
或Subject.courses
需要包含在事务中。然而,我使用 ORM 的目标之一是对调用者隐藏这些细节。因此,我不希望调用代码必须在事务中包装对这些字段的调用。
似乎如果我修改示例以将惰性初始化函数包装在事务中,如下所示:
我得到以下异常:
但是,就像我说的,如果我将调用者包装在事务中,那么一切正常。
那么,我怎样才能在对象本身中封装这个对象由数据库支持的事实呢?
scala - 无法在 Scala 上初始化类异常(可能是 squeryl 错误)
我正在使用 scala 2.8.1、scalatra 2.0.0.M2、squeryl 2.8.0 和 scalate 2.0.0 和 sbt 开发 Web 应用程序
我有一个问题,显然是模型或模式类。当我运行测试时,我得到:
如果我尝试在 sbt 的 console-quick 上运行以下代码,则会出现错误:
错误:
正如我所料,无论我尝试在该架构上调用什么方法,都会弹出错误。
现在这是我的架构在该表声明附近的样子:
这是我的代码表的样子:
最后是我的 sql 定义:
我还没有将第三个表映射到我的代码中。会发生什么?
scala - 使用 Squeryl 必须绑定会话错误
更新: 好的,我解决了我遇到的问题,但我仍然不太确定我做错了什么。无论如何,我在 IRCDB 中编写了以下方法:
然后像这样使用它:
现在它可以工作了。根据我的理解,我相信一旦使用 SessionFactory 创建会话,我就可以在transaction { ... }
任何具有正确导入的地方使用。显然,我的理解是不正确的。
如果有人有什么要补充的,请做。
所以,我刚开始将 Squeryl 用于我正在从事的项目,所以这可能只是我的疏忽。所以,首先是代码:
我有以下进口:
我定义了下表:
并定义了以下架构:
我已经能够在控制台中使用以下内容插入表中:
我可以通过 H2 控制台确认这确实发生了。但是,当我调用IRCDB.getAllChannels
(在 Scala 控制台和代码中)时,我收到以下错误:
如果我能够以几乎相同的方式将行插入表中,我不明白为什么会出现此错误。如果我尝试transaction { from(IRCDB.channels)(c => select(c)) }
在控制台执行,我会得到同样的错误。
编辑:我添加了完整的堆栈跟踪。另外,我重写了getAllChannels
这样的函数:
我仍然收到一个错误,但它确实先打印出查询——我认为这可能有用:
scala - 可以重命名基类中的 Scala 方法吗?
我对 Scala 比较陌生,我正在尝试在 Lift 中使用 lift-squeryl-record。Scala 是 2.8.1,Lift 是 2.3。我的问题是我想使用 Record 中的 (Mega)ProtoUser,但它与 lift-squeryl-record 冲突。
我按照以下说明进行操作:
它没有使用 ProtoUser,并试图像这样定义我的用户:
注意:KeyedRecord 来自包 net.liftweb.squerylrecord,而不是 net.liftweb.record
然后我收到以下错误:
overriding lazy value id in trait ProtoUser of type net.liftweb.record.field.LongField[MyType]; method id in trait KeyedRecord of type => Long needs
覆盖'修饰符`
因为 KeyedRecord 和 ProtoUser 都定义了不同的 id 方法。由于我不控制两个类/特征的代码,是否有任何“Scala”方式围绕它,比如重命名其中一种方法?我真的不想在两者之间做出选择。:(