Order와 UserOrder는 1:1 식별관계다.
MySQL의 Reverse Engineer로 테이블을 보면 1:N이 나와서 당황스러웠다. 🥹
결론은 코드에 문제 없다.
MySQL Reverse Engineer의 문제라고 함,,
orders 테이블
@Entity
@Builder
@AllArgsConstructor
@Table(name = "orders")
public class Order extends BaseTime {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_id")
private Long id;
@OneToOne(mappedBy = "order")
private UserOrder userOrder;
}
user_order
@Entity
@Builder
@AllArgsConstructor
public class UserOrder {
@Id private Long id;
@MapsId
@OneToOne
@JoinColumn(name = "user_order_id", referencedColumnName = "id")
private Order order;
@Column(nullable = false)
private Integer userId;
}
참고 👇👇👇
https://stackoverflow.com/questions/62378342/hibernate-create-onetomany-instead-of-onetoone
반응형
'ORM > JPA' 카테고리의 다른 글
N+1 문제 (0) | 2022.10.27 |
---|---|
[Error] org.hibernate.LazyInitializationException: could not initialize proxy (0) | 2022.07.20 |
@JoinColumn (0) | 2022.05.19 |
변경 감지(Dirty Checking) (0) | 2022.05.18 |
JPA를 이용한 데이터베이스 초기화 (0) | 2022.03.31 |