blob: 763f51942fe73b2ec60680c56e9e942dc7abe699 [file] [log] [blame]
package test;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import model.Employee;
import org.eclipse.persistence.config.QueryHints;
import org.eclipse.persistence.jpa.JpaHelper;
import org.eclipse.persistence.queries.FetchGroup;
import org.eclipse.persistence.queries.ReadAllQuery;
import org.eclipse.persistence.sessions.DatabaseRecord;
import org.junit.Test;
import testing.EclipseLinkJPATest;
@PersistenceContext(unitName="employee")
public class JoinFetchTests extends EclipseLinkJPATest {
@Test
public void employeeFetchJoinAddress() {
EntityManager em = getEntityManager();
TypedQuery<Employee> q = em.createQuery("SELECT e FROM Employee e JOIN FETCH e.address", Employee.class);
FetchGroup<Employee> fg = new FetchGroup<Employee>();
fg.addAttribute("id");
fg.addAttribute("version");
q.setHint(QueryHints.FETCH_GROUP, fg);
ReadAllQuery raq = JpaHelper.getReadAllQuery(q);
raq.prepareCall(JpaHelper.getServerSession(getEMF()), new DatabaseRecord());
List<Employee> emps = q.getResultList();
}
}