0
엔티티 클래스에서 객체를 만드는 데 약간의 문제가 있습니다.클래스를 엔티티 클래스에 저장하는 방법은 무엇입니까?
public class A {
private Integer id = new Integer(0);
public A(int id) {
this.id = id;
}
}
:
@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key key;
private ArrayList<A> token = new ArrayList<A>();
public Profile() {
this.token.add(new Token(1));
this.token.add(new Token(2));
this.token.add(new Token(3));
this.token.add(new Token(4));
}
}
이 내 표준 클래스입니다 : 이것은 내 엔티티 B 클래스는
입니다 : 여기
작은 코드 예제입니다 : 나는 다음과 같은 예외를 얻을java.lang.IllegalArgumentException: A: name.A is not a supported property type
클래스 B를 데이터 저장소에 저장합니다. 다음 지점에서 예외가 발생합니다.
profile = new Profile();
em.persist(profile);
em.close(); //Exception
클래스 B의 토큰 개체에 주석 처리를하면 모든 것이 작동합니다. B에서 A 클래스를 어떻게 사용할 수 있습니까?
클래스 A를'@ Embeddable'으로 설정하면 다음과 같은 에러가 발생합니다 :'지속성이없는 지속성 오브젝트를 포함하고 있지만, 필드가 cascade-persist를 허용하지 않습니다! '라고 말하면, 관계를 설정해야합니다. OneToMany입니까? – hofmeister
예 일대 다입니다. 또한 클래스 B의 목록 맨 위에 @Embedded을 넣을 수도 있습니다. 유일한 문제는 일대 다 연결로 연결하는 경우 클래스 A 엔티티에 별도의 기본 키를 유지해야한다는 것입니다. – dinukadev
대단히 감사합니다! – hofmeister