首页 > 解决方案 > 使用 @OneToOne 映射但外键不会使约束失败或不工作

问题描述

我有这个 ER尔图

这是CustomeOrderEntity -:

class CustomerOrder {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "order_id")
    var orderID: Long = 0

    @ManyToOne
    @JoinColumn(name = "customer_id", referencedColumnName = "customer_id")
    lateinit var customer: Customer

    @Column(name = "customer_payment_method_id")
    lateinit var customerPaymentMethodId: String

    @Column(name = "order_status_code")
    lateinit var orderStatusCode: String

    @Column(name = "date_order_placed")
    lateinit var dateOrderPlaced: String

    @Column(name = "date_order_paid")
    lateinit var dateOrderPaid: String

    @Column(name = "der_order_price")
    lateinit var derOrderPrice: String

    @Column(name = "other_order_details")
    lateinit var otherOrderDetails: String
}

这是客户实体

   data class Customer
(
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name ="customer_id" )
    val customerID:Long = 0,

    @Column(name = "customer_name",nullable = false)
    val customerName:String,

    @Column(name = "customer_email",nullable = false)
    val customerEmail:String,

    @Column(name = "customer_phone")
    val customerPhone:String,

    @Column(name = "customer_other_details",nullable = true)
    val customerOtherDetails:String
)

添加没有客户的 customer_order 时,添加的数据和 customer_id 字段为空。

我想在添加 customer_order 时执行此操作,它首先检查 customer_id 是否存在 customer_order,如果不存在,则不会添加数据。

标签: hibernatejpaspring-data-jpanhibernate-mapping

解决方案


推荐阅读