消息很清楚:映射中有重复的列。这意味着您两次映射了相同的数据库列。实际上,您有:
@Column(nullable=false)private Long customerId;
并且:
@ManyToOne(optional=false)@JoinColumn(name="customerId",referencedColumnName="id_customer")private Customer customer;
(
productId/也一样
product)。
您不应通过其他实体的ID来引用它们,而应直接引用该实体。删除该
customerId字段,它是无用的。并针对进行相同操作
productId。如果您想要销售的客户ID,则只需执行以下操作:
sale.getCustomer().getId()



