Я хочу иметь отношение OneToMany
с SQL и отношение ManyToOne
. У меня есть объект Ticket и объект TeamMember. Однако, когда я впервые сохраню сущность Ticket, я не буду знать TeamMember, и если я установлю для нее значение null, я получу следующее:
2020-05-29 23:49:55.754
ERROR 24020 --- [onPool-worker-2] o.h.engine.jdbc.spi.SqlExceptionHelper:
Column 'team_member_id' cannot be null
Что мне делать?
Ticket:
data class Ticket(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id:Long = 0,
val ticketId:String,
var price:Int? = null,
val openDate:LocalDateTime = LocalDateTime.now(),
var closeDate:LocalDateTime? = null,
var paypalId:String? = null,
var paid:Boolean = false,
var status:TicketStatus = TicketStatus.OPEN,
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "team_member_id", nullable = false)
val teamMember: TeamMember? = null,
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "customer_id", nullable = false)
val customer:Customer
)
Член команды:
@Entity
data class TeamMember(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id:Long = 0,
val discordId:String,
val joinDate:LocalDateTime,
val ordersCompleted:Int,
val amountMade:Int,
val email:String,
val pastWork:String,
@OneToMany(mappedBy = "teamMember", cascade = [CascadeType.ALL],
orphanRemoval = true, fetch = FetchType.EAGER)
val tickets:Set<Ticket> = setOf()
)