나는 다음과 같은 기업이 있다고 가정 :JPA 엔티티를 둘로 나눕니까?
나는 나라, 거리, 도시 및 우편 번호 변수를 개최한다 주소라는 새로운 클래스를 생성 할@Entity
@Table (name = "customers)
public class CustomerImpl implements Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true)
private Long id;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "surname", nullable = false)
private String surname;
@Column(name = "country", nullable = false)
private String country;
@Column(name = "city", nullable = false)
private String city;
@Column(name = "street", nullable = false)
private String street;
@Column(name = "zipCode", nullable = false)
private String zipCode;
// constructor + getters
}
. 개요 변수는 Address 객체로 대체되어 코드를보다 읽기 쉽고 깔끔하게 만듭니다.
필자의 경우 Address 클래스를 임베드해야합니까? 아니면 새 엔터티로 할당하고 주소와 고객간에 @OneToOne 관계를 부여해야합니까?
는
이 호에 따라 달라집니다 w 데이터를 데이터베이스에 저장합니다. 'ADDRESSES' 테이블을 가지고 계시거나 각 테이블의 컬럼은'COUNTRY','CITY','STREET' 그리고'ZIPCODE'입니까? –
'주소'테이블이 없지만 JPA가 테이블을 생성한다고 생각합니까? – Bravo
귀하의 디자인에 따라 다릅니다. 당신은 JPA가 당신을 위해 테이블을 생성하도록 할 수 있습니다. (이것은 통합 테스트 목적으로 만 좋은 접근법이라고 생각합니다.) 기존의 데이터베이스 모델에서 작업합니다. (더 견고한 접근 방법이며 당신이 직접 촬영할 수는 없습니다. 피트). –