Сценарий №1:
Код: Выделить всё
CREATE TABLE test(
id varchar(30) PRIMARY KEY
)
@Entity
@Table(name = "test")
data class Test(
@Id
@Column(name = "id")
var id: String
)
@Repository
interface TestRepository: JpaRepository
fun testInsert() {
val h = Test(id = "1")
testRepository.save(h)
}
=====
Сценарий №2
Код: Выделить всё
CREATE TABLE test(
id varchar(30) PRIMARY KEY,
group_name VARCHAR(9)
)
@Entity
@Table(name = "test")
data class Test(
@Id
@Column(name = "id")
var id: String,
@Column(name = "group_name")
val groupName: String
)
@Repository
interface TestRepository: JpaRepository
fun testInsert() {
val h = Test(id = "1", groupName="g")
testRepository.save(h)
}
java.sql.BatchUpdateException: невозможно вставить значение NULL в столбец «id», таблицу «test»; столбец не допускает нулевых значений. Ошибка INSERT.
Как в сценарии № 1 значение «1» было вставлено в столбец идентификатора, но при добавлении второго столбца в сценарии № 2 оба столбца имеют ненулевое значение значений, возникла ошибка, что первый столбец имеет значение NULL?
(И почему возникает ошибка «BatchUpdateException»?)
Подробнее здесь: https://stackoverflow.com/questions/793 ... umn-but-th