问题标签 [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.

0 投票
1 回答
197 浏览

scala - 如何在 Squeryl 中执行删除操作

我有A and B(a_id:Long)实体。

B取决于A。所以我已经设置了constrainReference(onDelete cascade)。一切正常。

但是当我删除时,A我想根据B. 可以以某种方式拦截B'sonDelete()并使用 Squeryl 方式执行操作,还是我必须手动执行?

0 投票
1 回答
581 浏览

scala - 使用 SerialVersionUID 在 Scala 中实现 Externalizable

我有一个部署到 Tomcat 7 的应用程序,目前集群在两个节点之间。当容器尝试反序列化已更改的类时,我遇到了一个小问题。读写方法应该优雅地处理这个问题,所以我认为这不是问题。尽我所能告诉设置serialVersionUID应该可以解决问题,但是在我的代码中,我将其指定为-1并且在该值下方的错误中似乎被忽略了。

例外:

java.io.InvalidClassException:common.user.User;本地类不兼容:st ream classdesc serialVersionUID = 1828770465826288626,本地类serialVersion UID = 6192552274218063887

类定义的相关部分:

我还尝试使用以下内容而不是扩展抽象类(根据:http ://www.scala-lang.org/node/259 )

我得到相同的结果。在如何使用 Scala 正确地外部化一个类时,我有什么遗漏吗?

0 投票
3 回答
1732 浏览

postgresql - Squeryl 和 PostgreSQL 的自增

当我尝试使用 Squeryl 的 Table.insert 在 PostgreSQL 表中插入新记录时,它会触发以下查询:

这不起作用,因为我没有定义序列,而是将 id 列定义为“自动增量”:

我在另一个论坛上阅读了一些关于这个问题的旧帖子,我想知道现在的状态是什么。我们是否不鼓励使用自动增量并改为定义序列?或者有一个简单的解决方法可以让它工作吗?

编辑:实际上我刚才看到自动增量本身创建了一个序列,但使用了另一个名称:users_id_seq 有没有办法告诉 Squeryl 改为查看这个名称,或者遵循 PostgreSQL 的约定?

0 投票
2 回答
895 浏览

database - 如何使用 Scala 从存储过程中检索多行?

假设您有一个返回多行的存储过程或函数,如如何从存储过程返回多行?(甲骨文 PL/SQL)

什么是使用 Scala 来“从表中选择 * (all_emps);”的好方法?(取自上面的 URL)并读取结果的多行数据?

据我所知,使用 Squeryl 是不可能做到这一点的。我可以使用像 Squeryl 这样的可扩展工具,还是必须使用 JDBC?

0 投票
1 回答
661 浏览

scala - Squeryl 0.9.5(带有 Lift 2.4)不释放数据库连接/池

按照 Squeryl 的推荐事务设置,在我的 Boot.scala 中:

第一次启动工作正常。我可以通过 H2 的网络界面连接,如果我使用我的应用程序,它会适当地更新数据库。但是,如果我在不重新启动 JVM 的情况下重新启动码头,我会得到:

如果我将“DB_CLOSE_DELAY=-1”替换为“AUTO_SERVER=TRUE”,或者将其完全删除,也会得到相同的结果。

按照 Squeryl 列表中的建议,我尝试了 C3P0:

这会产生类似的行为:

为了确保不是我正在做的任何事情导致了这种情况,我在没有调用事务 {} 块的情况下启动和停止了服务器。没有抛出异常。然后我添加到我的 Boot.scala 中:

并且再次抛出异常(我假设因为连接是惰性的)。所以我将 db 初始化代码从 Lift 移到了它自己的文件中:

结果没有改变。我究竟做错了什么?我在 Squeryl 文档中找不到任何需要显式关闭连接或会话的内容,这是我第一次使用 JDBC。

我在 Lift google group 上发现了同样的问题,但没有解决方案。

谢谢你的帮助。

0 投票
1 回答
1030 浏览

scala - Squeryl 中的关系和外键

我使用 Scala、Squeryl 和 MySql 来构建一个 Web 应用程序。

我发现将简单数据保存为字符串或整数很容易。但是当我有对象之间的关系并且我需要使用外键时呢?在我的应用程序中,我有区域和子区域,它们的属性类型为区域(它们所属的区域),所以我的区域和子区域就像这些

我如何定义架构,所以我的 SubArea 表有一个 Area id,我的 Area Table 的外键?目前我的 SubArea 架构是这样的

0 投票
1 回答
323 浏览

scala - 如何在 Squeryl 中的列组合中唯一索引

如何结合 squeryl 模式中的列定义唯一约束?

0 投票
2 回答
1008 浏览

scala - 使用 squeryl 存储案例对象

如何使用 squeryl 存储用户案例对象?我有一个 Account 对象,其权限字段类型为 Permission(定义为密封特征)。我还有 2 个案例对象(Administrator 和 NormalUser)从 Permission 扩展而来。如何使用 Squeryl 持久化 Account 类。下面的示例代码:

0 投票
2 回答
1139 浏览

scala - 使用 Play2 scala 的 Heroku 内存泄漏

正在对我的 1 heroku dyno 和 dev 数据库进行一些拉伸(ab)测试,连接数限制为 20。

在调用期间(使用 squeryl 访问数据库的堆分配正在增加,导致 R14(内存超过 512MB))

我似乎无法重现该问题(至少在该级别上)。

有没有办法让heroku堆转储并分析它以获得一些线索?

play2、scala、squeryl 和 heroku 内存泄漏是否存在任何已知问题?

更新

如果我在控制器末尾执行 System.gc,一切似乎都很好,而且速度较慢...我在该调用中创建了很多对象,但 heroku 的 JVM 不应该处理 gc 吗?另外,如果我定期安排 gc 调用,请不要释放内存

0 投票
1 回答
165 浏览

performance - Squeryl - 查询组合的方法

我需要执行一些可能依赖于通过 REST 接口提供的外部参数的查询。例如,客户端可能需要表单的 URL

foo参数,saybarquux都是可选的。所以我从用 Squeryl 设计一些查询开始,比如

但是我当然想避免出现组合爆炸,所以我只设计了三个查询,这三个查询又可能从另一个查询中获取它们的数据:

现在我可以将它们组合起来并运行如下查询

我对这种方法的唯一问题是,在幕后 Squeryl 将生成一个子查询,这可能效率低下。使用更典型的查询构建器,我将能够组合查询并获得以下等效项:

是否有不同的方法可以在 Squeryl 中动态组合查询,从而产生这种更有效的形式?