问题标签 [anorm]

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 回答
843 浏览

scala - 使用 anorm 实现 1-m 关系

比方说,我们有一个 1 米的关系,经典的例子:Author-Book。我们在数据访问层中有 2 个案例类(以及 DB ofc 中的表),对应的 Author 和 Book。

有没有办法获得作者的集合,让每个作者都被 Anorm 中的作者书籍集合填充?

如果没有办法,那么在执行 2 个查询(如“SELECT * FROM Author”和“SELECT * FROM Book”之后,假设我们有一个外键关系,那么获取此集合链接的正确(最佳)方法是什么? ?

谢谢!

0 投票
1 回答
1543 浏览

scala - 处理插入 PlayFramework 2.0 Scala 上的错误

我在使用 Play Framework 2.0 中的异常向数据库插入(或更新)新数据时遇到问题。我的模型是在以下代码中定义的博客文章:

然后我在插入函数上执行此操作:

和形式:

我在表单中没有userId字段,因为我不相信用户在他们自己的 ID 上的输入。我从会话中得到它。无论如何,这就是为什么我不能直接将验证代码放在postForm's 声明中(因为我认为我无法从表单和模型访问会话)。这就是它变得丑陋的时候。如果帖子无效,则 anorm 会引发异常,因此我需要在 fold 函数之后将错误传递给用户,例如:

首先,try-catch它很丑。第二,BadRequest电话打不通。我究竟做错了什么?处理插入/更新错误的最佳方法是什么?我对登录表单也有同样的问题,但它并没有那么糟糕,因为我实际上可以在登录表单声明时处理错误。

之前谢谢。

0 投票
2 回答
2593 浏览

playframework - 如何在 Play 中管理 DB 相关异常!2.0/Scala 使用 Anorm

我目前正在玩 Play 2.0 (Scala)。我必须承认这很有趣。我有一个与数据库操作异常有关的问题。

假设我有Car作为域类,并且我对其中一个字段有完整性约束,比如说模型,因此在数据库中我不能有两 (2) 行具有相同的模型名称:

我正在尝试像这样在数据库中插入一条记录:

如果我没有像前面的代码那样捕获异常,那么当我从控制器调用此方法时,模型的值已经存在于数据库中,我会抛出以下异常:

有没有办法捕获MySQLIntegrityConstraintViolationException而不是Exception,以便我可以对可能出现的问题进行细粒度控制,然后为我的用户提供更简洁的反馈,例如(在浏览器或移动设备上)?

这是处理与数据库相关的操作和异常的最佳方法,还是每个人都使用的最佳实践?

提前致谢,

0 投票
2 回答
1197 浏览

scala - Scala Play Framework Anorm SQL.on 禁用带有“”的包装替换

每当我使用on它替换 SQL 查询中的占位符时,用 '' 包围替换,有没有办法防止这种情况发生?

这意味着我不能做类似的事情

因为它用 '' 包装表名,这会导致 SQL 语法错误。

0 投票
1 回答
1637 浏览

postgresql - 存储字节数组时的Scala Anorm Postgresql错误

我在 Scala Playframework 中有一个数据库表定义为

我正在使用协议缓冲区使用以下代码将对象序列化为字节数组

返回的类型device.toByteArray()应该Array[Byte]列的数据库类型匹配。但是在执行我得到的代码后

0 投票
1 回答
889 浏览

database - 如何使用 Anorm 和 Scala 从数据库中提取二进制信息

我将一个字段作为二进制(64)存储在数据库中,并尝试使用使用 Scala 的 Anorm 解析器来提取它。怎么可能呢?

我最感兴趣的是使用 ParserAPI,因为 StreamAPI 记录在这里:http ://www.playframework.org/documentation/2.0.2/ScalaAnorm

0 投票
1 回答
209 浏览

scala - 如何在 Anorm 中匹配对象的 id:Pk[T]?

如何检查对象是否已保存到数据库(例如通过匹配其 id)?

类似于以下代码段的内容:

0 投票
1 回答
296 浏览

postgresql - 如何将新行插入数据库并获取主键作为结果

我正在使用带有 Anorm 的 Play2。有没有办法执行 INSERT 语句并获取自动生成的主键作为结果?

0 投票
0 回答
175 浏览

scala - 如何向其他 Anorm 支持的类添加惰性关系

问题:如何添加从一个 Anorm 支持的类到另一个类的惰性关系?

我想有一个从 Anorm 支持的类到另一个类/表的惰性关系。因此,当我有一个 Foo 并执行 getBar 时,SQL 查询将立即被触发。我确信这是一个新手问题,但是关于 Anorm 的文档很少,但它似乎是 Play on Scala 的首选持久层。

0 投票
0 回答
296 浏览

scala - 将 ANORM SELECT 参数设置为 null

我正在尝试执行 SELECT 语句,其中参数可能具有空值:

device.name可以返回null。我db.default.logStatements=true看到生成的 SQL 看起来像这样:SELECT id FROM devices WHERE name = NULL.

name = NULL对 Postgre SQL 不太有效,但我已经使用transform_null_equals. 现在,当我使用 pgAdmin 从日志中执行 SQL 时,它工作得非常好。但是,ANORM 没有找到任何东西。

以下代码确实返回结果:

它出什么问题了?!