2010-12-16 2 views
0

가입 나 동적 쿼리를 만들자바 지속성 쿼리 언어 내가 두 개의 테이블이

A 급

@Entity 
@Table(name = "A", schema = "mySchema") 
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) 
public class A{ 

    @Id 
    private Long id; 

} 

클래스 B

@Entity 
@Table(name = "B", 
    schema = "mySchema", 
    uniqueConstraints = { @UniqueConstraint(columnNames = { 
    "some_id", "id_A" }) }) 
public class B{ 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "Seq") 
    @SequenceGenerator(name = "Seq", sequenceName = "mySchema.mySeq") 
    private Long id; 

    @OneToOne(fetch = FetchType.LAZY) 
    @JoinColumn(name = "id_A", nullable = false) 
    private A a; 

    @Column(name = "id_A", updatable = false, insertable = false) 
    private Long IdA; 
} 
+0

JPQL은 데이터베이스 스키마가 아닌 개체 모델 측면에서 작동합니다. 스키마가 아닌 클래스를 표시해야합니다. – axtavt

+0

당신이하지 않은 클래스 – terry207

+0

의 일부를 추가했습니다. 당신은 끔찍한 혼란을 게시, 나는 당신을 위해 그것을 고치려고 했어 –

답변

0

몇 가지 이상한 부분이 있습니다. 예 : 이 다음 @JoinColumn 주석 당신이 내부 매핑에 지정된 열을 사용한다 JPA 제공자를 이야기하고 있지만 아이다 필드와 함께, 당신은 열을 직접 관리하려는으로

@OneToOne(fetch = FetchType.LAZY) 
@JoinColumn(name = "id_A", nullable = false) 
private A a; 

@Column(name = "id_A", updatable = false, insertable = false) 
private Long IdA; 

. 어느 쪽이 될 것인가?

+0

나는 당신이 더 필요할지 모르겠다. 나는 또한 어떻게 당신이이 작품을 설명하는 방법을 몰라,하지만 그것의 작품 :) – terry207