Wouter,
Thanks for your reply I have corrected it as:
@NamedQuery(name = "GetItemsbydescption",query = "SELECT i FROM
Iteamdetailsent i WHERE i.description= :description OR i.itmid=:itmid OR
i.itmname=:itmname").
And I get not deployment errors
But somehow I am still not quite sure about my method:
//retrieving items by description/ item code or item name
public List<Iteamdetailhlp> Despcodename(String description, String
itmname, String itmid){
List<Iteamdetailsent> iteamdetailsent=null;
//Iteamdetailsent iteamdetailsents=null;
if (description!=null){
try{
iteamdetailsent=(List<Iteamdetailsent>)
em.createNamedQuery("GetItemsbydescption").setParameter("description",
description).getResultList();
//iteamdetailsent=(List<Iteamdetailsent>)
em.createNamedQuery("Getitemswithname").setParameter("itmname",
itmname).getResultList();
}catch(Exception ex){
System.err.println("Can not get items details by Description entered.
Name entered not recogniced");
}//end of catch
}
else if (itmname!=null){
iteamdetailsent=(List<Iteamdetailsent>)
em.createNamedQuery("Getitemswithname").setParameter("itmname",
itmname).getResultList();
}
else if(itmid!=null){
iteamdetailsent=(List<Iteamdetailsent>)em.find(Iteamdetailsent.class,
itmid);}
return copyToDetails(iteamdetailsent);
}//end of Despcodename
As in the client, it is expecting 3 strings. what I really want to do is to
supply it with one string
but that complicates these three queries:
iteamdetailsent=(List<Iteamdetailsent>)
em.createNamedQuery("GetItemsbydescption").setParameter("description",
description).getResultList();
iteamdetailsent=(List<Iteamdetailsent>)
em.createNamedQuery("Getitemswithname").setParameter("itmname",
itmname).getResultList();
iteamdetailsent=(List<Iteamdetailsent>)em.find(Iteamdetailsent.class,
itmid);}
As you can see above, the three queries are doing three different things.
Any suggestions would be appreciated.
Thank you all.
eve
>From: Wouter van Reeven <wouter_at_van.reeven.nl>
>Reply-To: persistence_at_glassfish.dev.java.net
>To: persistence_at_glassfish.dev.java.net
>Subject: Re: @NamedQuery for finding details from more than 1 column
>Date: Fri, 4 May 2007 16:56:38 +0200
>
>Hi Eve,
>
>On Fri, May 04, 2007 at 03:44:37PM +0100, Eve Pokua wrote:
> > @NamedQuery(name = "GetItemsbydescption",query = "SELECT i FROM
> > Iteamdetailsent i WHERE i.description= :description i.itmid=:itmid Or
> > i.itmname=:itmname"),
>
>Shouldn't that be
>
>@NamedQuery(name = "GetItemsbydescption",query = "SELECT i FROM
>Iteamdetailsent i WHERE i.description= :description or i.itmid=:itmid Or
>i.itmname=:itmname")
>
>so another OR in between :description and i.itmid?
>
>
>HTH, Wouter van Reeven
>
>--
>
>People: "If she weighs the same as a Duck, she's made of wood!"
>Sir Bedevere: "And therefore...?"
_________________________________________________________________
Txt a lot? Get Messenger FREE on your mobile.
https://livemessenger.mobile.uk.msn.com/