问题标签 [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 中执行删除操作
我有A and B(a_id:Long)
实体。
B
取决于A
。所以我已经设置了constrainReference(onDelete cascade)
。一切正常。
但是当我删除时,A
我想根据B
. 可以以某种方式拦截B
'sonDelete()
并使用 Squeryl 方式执行操作,还是我必须手动执行?
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 正确地外部化一个类时,我有什么遗漏吗?
postgresql - Squeryl 和 PostgreSQL 的自增
当我尝试使用 Squeryl 的 Table.insert 在 PostgreSQL 表中插入新记录时,它会触发以下查询:
这不起作用,因为我没有定义序列,而是将 id 列定义为“自动增量”:
我在另一个论坛上阅读了一些关于这个问题的旧帖子,我想知道现在的状态是什么。我们是否不鼓励使用自动增量并改为定义序列?或者有一个简单的解决方法可以让它工作吗?
编辑:实际上我刚才看到自动增量本身创建了一个序列,但使用了另一个名称:users_id_seq 有没有办法告诉 Squeryl 改为查看这个名称,或者遵循 PostgreSQL 的约定?
database - 如何使用 Scala 从存储过程中检索多行?
假设您有一个返回多行的存储过程或函数,如如何从存储过程返回多行?(甲骨文 PL/SQL)
什么是使用 Scala 来“从表中选择 * (all_emps);”的好方法?(取自上面的 URL)并读取结果的多行数据?
据我所知,使用 Squeryl 是不可能做到这一点的。我可以使用像 Squeryl 这样的可扩展工具,还是必须使用 JDBC?
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 上发现了同样的问题,但没有解决方案。
谢谢你的帮助。
scala - Squeryl 中的关系和外键
我使用 Scala、Squeryl 和 MySql 来构建一个 Web 应用程序。
我发现将简单数据保存为字符串或整数很容易。但是当我有对象之间的关系并且我需要使用外键时呢?在我的应用程序中,我有区域和子区域,它们的属性类型为区域(它们所属的区域),所以我的区域和子区域就像这些
我如何定义架构,所以我的 SubArea 表有一个 Area id,我的 Area Table 的外键?目前我的 SubArea 架构是这样的
scala - 如何在 Squeryl 中的列组合中唯一索引
如何结合 squeryl 模式中的列定义唯一约束?
scala - 使用 squeryl 存储案例对象
如何使用 squeryl 存储用户案例对象?我有一个 Account 对象,其权限字段类型为 Permission(定义为密封特征)。我还有 2 个案例对象(Administrator 和 NormalUser)从 Permission 扩展而来。如何使用 Squeryl 持久化 Account 类。下面的示例代码:
scala - 使用 Play2 scala 的 Heroku 内存泄漏
正在对我的 1 heroku dyno 和 dev 数据库进行一些拉伸(ab)测试,连接数限制为 20。
在调用期间(使用 squeryl 访问数据库的堆分配正在增加,导致 R14(内存超过 512MB))
我似乎无法重现该问题(至少在该级别上)。
有没有办法让heroku堆转储并分析它以获得一些线索?
play2、scala、squeryl 和 heroku 内存泄漏是否存在任何已知问题?
更新
如果我在控制器末尾执行 System.gc,一切似乎都很好,而且速度较慢...我在该调用中创建了很多对象,但 heroku 的 JVM 不应该处理 gc 吗?另外,如果我定期安排 gc 调用,请不要释放内存
performance - Squeryl - 查询组合的方法
我需要执行一些可能依赖于通过 REST 接口提供的外部参数的查询。例如,客户端可能需要表单的 URL
foo
参数,saybar
和quux
都是可选的。所以我从用 Squeryl 设计一些查询开始,比如
但是我当然想避免出现组合爆炸,所以我只设计了三个查询,这三个查询又可能从另一个查询中获取它们的数据:
现在我可以将它们组合起来并运行如下查询
我对这种方法的唯一问题是,在幕后 Squeryl 将生成一个子查询,这可能效率低下。使用更典型的查询构建器,我将能够组合查询并获得以下等效项:
是否有不同的方法可以在 Squeryl 中动态组合查询,从而产生这种更有效的形式?