2012-03-29 4 views
2

가 법적 다음 코드를JPA 주석

@Entity 
@Embeddable 

public class UserProfile { 

@Id 
private String name; 
private String pass; 
.. 

}

내가 한 번에 두 주석을 사용할 수 있습니까?

답변

2

없이, http://www.objectdb.com//api/java/jpa

다른 것은 그것을 어떻게 여기 그 자체 ID는 자동으로 생성되지만, 당신이 원하는대로 네 당신은 변경할 수 있습니다

+0

ID를 자동으로 생성 할 필요는 없습니다. 그것의 사용자 취향. – DataNucleus

+0

"네, 원하는대로 변경할 수 있습니다"= "사용자 환경 설정" – F3rr31r4

4

는 왜 항상 사람이 있어야합니다) 누가, 언제 버튼을 누르지 말라는 지시를 받으면 무슨 일이 일어나는 지 알기 위해 그것을 할 것인가? Embeddable은 Entity와 마찬가지로 유형이므로 함께 정의하면 Embeddable에 ID가 포함될 수 없기 때문에 함께 사용하면 안됩니다.

+0

예고 .. 잊어 버렸습니다;) – F3rr31r4

0

아니요. 포함 가능 항목은 항목에 포함되도록 설계되었습니다. 그것들은 컴포지션 패턴을 구현하는 데 사용됩니다.

0

여기서는 혼란 스럽습니다.

엔티티는 인스턴스 당 엔티티 당 하나의 테이블, 인스턴스 당 한 행의 형태로 db에 지속성을 유지하려는 Java 클래스입니다.

다른 클래스의 다른 인스턴스는 자체 테이블이있는 엔티티이고 일대 다 (many to many), 많은 주석 (annotation)과 링크되거나 다른 엔티티의 동일한 테이블에 직접 "포함"될 수 있습니다. 이것은 복잡한 키가 있고 기본 키를 정의하기 위해 별도의 클래스가 필요할 때 가장 유용합니다.

따라서 인스턴스가 다른 엔터티 내에 유지되는 임베드 가능한 클래스가 있거나 자체 테이블에 유지 될 엔터티가 있습니다.