2013-06-02 3 views
0

이, 내가 클래스 A와 B가플레이 프레임 워크 엔터티 연결

로 정의라고 나는

을 알아낼 수없는 초보자 질문하자 나는 플레이 프레임 워크와 함께 작동하도록 노력하고있어 나는 질문이있다

package models; 
@Entity 
public class A extends Model { 
@Id 
Long idA; 
List<B> listofB; 
etc.. 
} 

package models; 
@Entity 
public class B extends Model { 
@Id 
Long idB; 
etc.. 
} 

는 또한 두 클래스에서 만든 파인더 클래스가

  1. 여러개의 B가 있어야하고, A와 B가 서로 다른 것으로하고 싶습니다. B는 ID가 1과 2이고, A가 ID가 2이고 B가 ID가 1이고, 2,이 B는 모두 다를 것입니다. 어떻게 할 수 있습니까? , 내가하는 방법 등

    public B getB(Long idA, Long idB) { 
    ... 
    } 
    

    을 만들려면 나는 @ManyToOne 태그 및 관련 뭔가 생각,하지만 난 그것을 그 후

  2. 을 수행하는 방법을 정확히 알아낼 수 있습니다 나에게 특정 B를 얻으십시오. 어떻게해야합니까?

사전

답변

0

좋은 날에 감사합니다.

달성하려는 데이터베이스 구조를 달성 할 수 없습니다.
귀하의 코드

package models; 
@Entity 
public class A extends Model { 
@Id 
Long idA; 
List<B> listofB; 
etc.. 
} 

package models; 
@Entity 
public class B extends Model { 
@Id 
Long idB; 
etc.. 
} 

@Id 

이 기본 열쇠가 될 것이라는 점을 기억하십시오.

귀하의 질문은,

는 당신이이 방법을 수행 할 수 있음을 달성 할 수 있으려면 ... 당신의 IDB는 기본 키가 같은 값을 가질 것을 제안

package models; 
@Entity 
public class A extends Model { 
@Id 
Long idA; 
List<B> listofB; 
etc.. 
} 

package models; 
@Entity 
public class B extends Model { 
@Id 
Long UID; 

Long idB; 
etc.. 
} 

그리고 마지막으로, 두 번째 문제에 이

시도
A a = A.find("idA = ?", someIdA).first(); 
B b = a.A.find("idB = ?", someIdB).first(); 

희망 답변이 도움이됩니다. :)