我有这些表,这些表是由JPA和Hibernate在使用这些spring配置启动时自动生成的。
这是我的application.yml配置:
spring:
datasource:
url: "jdbc:postgresql://postgres-cinema:5432/postgres"
username: "postgres"
password: ""
driver-class-name: "org.postgresql.Driver"
jpa:
database: "postgresql"
hibernate:
ddl-auto: "update"
这些是我的Entity类:
@Entity
class Cinema(
@get:Id @get:GeneratedValue
var id: Long? = null,
@get:NotBlank @get:Size(max = 128)
var name: String,
@get:NotBlank @get:Size(max = 128)
var location: String? = null,
@get:OneToMany(mappedBy = "cinema", cascade = [CascadeType.ALL], fetch = FetchType.EAGER)
var rooms: MutableSet<Room> = mutableSetOf()
)
@Entity
class Room(
@get:Id @get:GeneratedValue
var id: Long? = null,
@get:NotBlank @get:Size(max = 128)
var name: String,
@get:ElementCollection
@get:NotNull
var seats: MutableSet<String>,
@get:ManyToOne(fetch = FetchType.EAGER)
@get:JoinColumn(name = "cinema_id")
var cinema: Cinema? = null
)
当我创建一个新的电影院时,其ID为1 接下来,我要创建一个新房间,它的ID为2。
我在对实体表做些错误的事情吗?这些不应该是具有自己ID的独立表吗?