I는 JPA 및 절전 모드를 사용하고 @OneToOne
협회가 동일한 유형의 두 @Embeddable
성분 자체를, 갖는 @Embeddable
성분의 @ElementCollection
를 포함하는 @Entity
가있어 다른 @Entity
. 기본적으로JPA 하이버 네이트, 임베디드 및 OneToOne
:
@Entity
public class Company {
// ...
@ElementCollection
private List<Employee> employees;
// ...
}
@Embeddable
public class Employee {
// ...
@Embedded
private Address residentialAddress;
@Embedded
private Address postalAddress;
// ...
}
@Embeddable
public class Address {
// ...
@OneToOne
private HousingInfo housingInfo;
// ...
}
(클래스의 이름이 무죄를 보호하기 위해 변경되었습니다 있습니다.)
이제 나는 데 문제가 내가하려는 오류를 얻고있다
가 null가 아닌 테이블 company_employees (COMPANY_ID BIGINT를 작성, employees_collection & & element_residential_address_housing_info : 스키마를 자동으로 업데이트하기 TINYBLOB, employees_collection & & element_postal_address_housing_info의 TINYBLOB는)
MySQL은 명확하게 &&
들 좋아하지 않는다. 우리는 의 하위 클래스를 사용하고 있는데, 이는 내가 볼 수있는 곳 어디에도 &&
을 삽입하지 않습니다.
나는 @AssociationOverride
을 시도했지만 어느 레벨에 관계없이 무시되는 것으로 보입니다. 즉, Company
(List
에있는 @AssociationOverride(name = "residentialAddress.housingInfo', joinColumns = @JoinColumn(name = "residential_housing"))
등)의 속성을 재정의하고 Employee
(등)의 속성을 시도했지만 아무 것도 수행하지 않은 것으로 보입니다.