Open JPA 엔티티가 있고 다 - 대 - 다 관계를 성공적으로 연결합니다. 지금 당장은 전체 테이블을 성공적으로 가져 왔지만 실제로는 그 테이블의 ID 만 필요합니다. 필자는 나중에 데이터베이스를 호출하여 필요한 항목을 재구성 할 계획입니다 (프로그램의 흐름에 따라). ID (또는 해당 테이블에서 하나의 열) 만 필요합니다.
1) 엔티티 bean 또는 엔티티 bean을 호출하는 데 사용할 상태 비 저장 세션 Bean에서이 제한을 시도해야합니까? 2) JPA를 사용하여이 작업을 시도 할 경우 어떻게 지정할 수 있습니까? 전체 테이블 대신에 테이블에서 ID를 되 찾으십니까? 지금까지 온라인에서 볼 때, 당신이 할 수있는 방법이 보이지 않습니다. 그래서 나는 이것을 할 방법이 없다고 추측합니다. 3) 반환 값을 조작하는 것만으로 필요한 아이디 목록 만 사용자에게 반환하는 사용자에게 반환 할 별도의 클래스를 만들어야합니까?은 JPA를 사용하여 단 하나의 열만 반환 할 수 있습니다.
여기서 완전히 틀릴 수도 있지만, JPA를 사용하여이 작업을 수행하는 간단한 방법이 없다고 생각합니다. 엔티티 bean 대신 사용자 정의 객체를 사용자에게 반환해야합니다. (이 사용자 정의 객체는 현재와 같이 전체 테이블과 반대되는 ID 만 보유합니다.)
모든 생각 ... 나는 이것이 적절하다고 생각하지 않지만 사람들은 항상 코드를 요구하므로 여기에서 go ...
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name="QUICK_LAUNCH_DISTLIST",
[email protected](name="QUICK_LAUNCH_ID"),
[email protected](name="LIST_ID"))
private List<DistributionList> distributionlistList;
현재 전체 레코드 컬렉션을 가져 오는 방법. ID를 원한다는 것을 기억하십시오 ...
try
{
//int daSize = 0;
//System.out.println("Testing 1.2..3...! ");
qlList = emf.createNamedQuery("getQuickLaunch").getResultList();
}
이것은 Entity beans를 호출하는 방법입니다. 이 프로그램 적으로 엔티티 bean과 비슷한 사용자 지정 개체를 만들 필요가있는 곳이라고 생각합니다. (다만 ID가 있고 전체 테이블이 아니라 어딘가에 ID를 넣으려고합니다.)
당신의 생각은 무엇입니까
덕분에 당신이 당신의 빠른 실행 클래스에서이 같은 것을 원하는처럼
이제 전체 목록을 얻었습니다. distributionlist에는 원하는 모든 관련 DistributionList 개체가 포함되어 있습니다. distributionList에있는 각 DistributionList를 반복하고, .getId()를 호출하여이를 새 목록에 저장하는 것이 잘못된 이유는 무엇입니까? JPA는 임의의 열이 아닌 전체 객체가 데이터베이스에 저장된다는 추상화 때문에 테이블 전체를 반환합니다. 일반적으로 추상화를 깨는 것은 올바른 대답이 아닙니다. –
글쎄, 내가해야 할 것입니다.그러나 나는 또한 새로운 객체를 생성하고 quickLaunch 객체 대신 사용자를 반환해야 할 것입니다. 어느 것이 가능합니다. 나는이 특별한 경우에 대해, 그 기능을 갖는 것이 좋을 것이라고 생각한다. – SoftwareSavant