问题标签 [kotlin-exposed]
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.
postgresql - 不支持 postgresql 事务隔离级别 4
我正在尝试创建表(postgres + 暴露 + ktor + JDBC),我得到了那个错误。
在下面找到我的配置:
构建.gradle
你好.kt
这是我遇到的错误
sql - Kotlin 暴露了 DSL 查询映射
- 如何将选择查询映射到类
是否有任何@transactional 注释来执行查询?
/li>
spring-boot - 在 Spring Boot 中的 @Transactional 方法之后,实体未在 Exposed 中持久化
我有以下 DAO 类
如果我手动创建事务,那么实体会保留在数据库中,请参见下面的代码
但是,如果我在 Spring Boot 应用程序的 @Transactional 方法中使用相同CustomerDAO
的OrderDAO
方法,就会开始发生奇怪的事情。
在这种情况下,仅customer
创建但不创建。order
如果我取消注释上面的两行,则不会创建客户,第二行将导致 NPE。
所以在@Transactional 方法中,实体只有在被另一个引用或被查询时才会被持久化。
无论如何,如何让它坚持下去?
提前致谢,
kotlin - 如何进行批量更新?
我正在尝试使用 Exposed 更新 MySql 中行列表上的特定列。
实际上 Exposed 支持 a batchInsert
,但没有类似于 a 的东西batchUpdate
,有什么解决方法吗?
注意:该表不是IdTable
.
kotlin - Kotlin Exposed - 如果不存在和冲突如何插入?
我环顾四周,但似乎找不到世界上如何使用 Kotlin 的 Exposed SQL 框架“插入如果不存在”或“插入冲突”。我目前正在编写原始 SQL 语句并按原样执行它们。在某些情况下,我认为我无法避免这种情况,但如果可能的话,我更愿意使用该框架。我没有看到 DSL 或 DAO 语法的任何选项。
编辑:
对于任何可能遇到此问题的人,Tapac 的评论对我有用。
将 Table.insertIgnore() 用于“如果不存在则插入”,并且在https://github.com/JetBrains/Exposed/wiki/FAQ#q-is-upsert-supported中存在一个 upsert 示例。
data-binding - 处理 DAO 和 Tornadofx 时将数据绑定到视图模型
我正在使用 JetBrains/Exposed 进行数据库操作。我能够利用 DAO 方法在 TableView 上显示数据库中的数据。DSL 方法非常具有挑战性。
成功显示数据后,数据绑定就消失了。我的人班看起来像这样
我的视图模型看起来像这样
每次我想对我得到的模型进行更改
java.lang.IllegalStateException: No transaction in context.
我知道这是因为在事务上下文中使用 Person 来执行 Db 查询。
鉴于我正在使用 JetBrains/Expose 的 DAO API,我想知道如何将数据绑定到视图模型。
谢谢。
kotlin - 我们如何在 Kotlin Exposed 中编写查询?
我想使用 Kotlin Exposed 创建类似于 Ruby 的 ActiveRecord Scopes 的东西。
例如,我想分解以下查询,以便第一部分起到作用域的作用。
这个查询返回我想要的。
我想将此部分用作范围:
然后能够使用 q1“范围”细化查询
所以是这样的:
最终我想把它推到测量对象或测量类中,这样我就可以做这样的事情
kotlin-exposed - Exposed 有什么方法可以在表声明中执行 ON UPDATE 吗?
我想更新类似于 MySQL 的“ON UPDATE CURRENT_TIMESTAMP”的时间戳。
在 Exposed 中声明一个表时有没有这样做?
kotlin - 如何根据传入参数向 Exposed DAO API“.find”添加多个过滤条件
我正在使用 kotlin 编写一个 dropwizard 应用程序,其中一种资源方法将接收多个参数(电子邮件、电话、is_deleted 等)。根据传入的查询参数,我必须过滤表。我正在使用 Exposed 的 DAO API 来构造查询。
val result = User.find { //SqlExpressionBuilder
Users.isDeleted eq false
Users.email eq "so@soso.com"
}.sortedByDescending { it.createdAt }
如何使用 for in 循环根据查询参数映射向查询添加多个 where 条件?
kotlin - Kotlin Exposed 的异常处理 - 如何捕获唯一约束违规异常?
我在表中的列上添加了唯一约束。当违反约束时,它会引发一个我无法捕捉并传达给用户的异常。
Exposed: Transaction attempt #0 failed: java.sql.BatchUpdateException: Batch entry 0 INSERT INTO templates (created_at, is_deleted, name, sections) VALUES ('2018-10-03 16:31:25.732+05:30', 'FALSE', 'Template1', '[{"title":"Introduction"}]')
RETURNING * was aborted: ERROR: duplicate key value violates unique constraint "templates_name_key"
Detail: Key (name)=(Template1) already exists. Call getNextException to see other errors in the batch.. Statement(s): INSERT INTO templates (created_at, is_deleted, name, sections) VALUES (?, ?, ?, ?)
! org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "templates_name_key"
! Detail: Key (name)=(Template1) already exists.
- 如何使用用户可读的消息捕获这些类型的 SQL 异常?
- 是否有任何最佳实践来捕获这些异常?
- 我们应该在事务内部还是外部捕获它们?有没有这样的必要性?
下面是我试过的片段。
消息SQL constraint violated
根本不打印。也尝试了使用不同异常类的多个捕获。没有任何效果。
发送此类通用错误消息无济于事。