Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EJB-QL Question

 
Dale Seng
Ranch Hand
Posts: 275
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If we had a "Boss" EJB with a single CMR field named "employee", and an Employee EJB using a "Pay" class as its pay CMP field, are both of these allowable:

SELECT b.employee FROM Boss b
SELECT b.employee.pay FROM Boss b

--Dale--
[ May 15, 2004: Message edited by: Dale Seng ]
 
Dale Seng
Ranch Hand
Posts: 275
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here's a second question, if you please...

Say we have a one to many relationship: House 1 ---- * Room (a house is made of of several rooms, one room may belong to only one house), and House has a collection-valued relation field whose value is 'room'.

Our database looks like this:



Can we do this:

SELECT OBJECT(h)
FROM House h, IN(h.room) r
WHERE r = 'Kitchen'

--Dale--
[ May 15, 2004: Message edited by: Dale Seng ]
 
Shahfazal Mohammed
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi-

I guess when you say a 1--* relationship, it's more better represented when the entities are different tables - House table and Room table (you know, normalization and stuff)
and, technically, when you say a collection-valued relation field - 'room', it's a getter method getRoom() (or more comfortably getRooms() when your cmr-field is 'rooms') which will return a Collection of local component interfaces of the Room entity bean (a different table), so that you can iterate thru them. your database might actually have to be modified as

in this case your EJB-QL would look something like -

hope this helps
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic