Query query = manager.createQuery( "SELECT c.firstName, c.lastName FROM Customer AS c"); List results = query.getResultList( ); Iterator it = results.iterator( ); while (it.hasNext( )) { Object[] result = (Object[])it.next( ); String first = (String)result[0]; String last = (String)result[1]; }
m-1, 1-1 : juz .(dot)
SELECT c.creditCard FROM Customer AS c SELECT c.address.city FROM Customer AS c SELECT c.creditCard.creditCompany.address FROM Customer AS c SELECT new com.titan.domain.Name(c.firstName, c.lastName) FROM Customer c
*-m
SELECT new com.titan.domain.Name(c.firstName, c.lastName) FROM Customer c
Join
collection-valued properties, we use joins rather than property
navigation.
inner join
SELECT r FROM Customer AS c, IN( c.reservations ) r
หรือ
SELECT r FROM Customer AS c, INNER JOIN c.reservations r
อีกตัวอย่าง
SELECT cbn.ship FROM Customer AS c, IN( c.reservations ) r, IN( r.cabins ) cbn
outer join
SELECT c.firstName, c.lastName, p.number FROM Customer c <strong>LEFT JOIN</strong> c.phoneNumbers p
This query might return the results
David Ortiz 617-555-0900
David Ortiz 617-555-9999
Trot Nixon 781-555-2323
Bill Burke null