【发布时间】:2023-03-12 16:53:02
【问题描述】:
当我尝试使用 spring r2dbc 数据插入一个只有 id 的实体时,出现以下异常:
Exception while fetching data (addChat) : INSERT contains no values
java.lang.IllegalStateException: INSERT contains no values
at org.springframework.data.r2dbc.core.DefaultStatementMapper.getMappedObject(DefaultStatementMapper.java:159) ~[spring-data-r2dbc-1.0.0.RC1.jar:1.0.0.RC1]
at org.springframework.data.r2dbc.core.DefaultStatementMapper.getMappedObject(DefaultStatementMapper.java:144) ~[spring-data-r2dbc-1.0.0.RC1.jar:1.0.0.RC1]
数据库 postgres:
create table chats
(
id serial not null
constraint chats_pkey
primary key
);
实体
import org.springframework.data.annotation.Id
import org.springframework.data.relational.core.mapping.Table
@Table("chats")
data class ChatEntity(
@Id val id: Int? = null
)
存储库:
import org.springframework.data.r2dbc.repository.R2dbcRepository
import org.springframework.stereotype.Repository
@Repository
interface ChatsRepository : R2dbcRepository<ChatEntity, Int>
服务:
//Service
val chatAdded = chatsRepository.save(ChatEntity(id = null)).awaitFirst()
在同一个项目中,我还有其他具有 id 和其他列的实体可以正常工作。 知道为什么我会出现此错误吗?
【问题讨论】:
标签: java spring postgresql r2dbc spring-data-r2dbc