It's not a secret anymore!*
The moose likes Object Relational Mapping and the fly likes Help in HQL Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Help in HQL" Watch "Help in HQL" New topic
Author

Help in HQL

Anurag Agarwal
Greenhorn

Joined: Mar 07, 2009
Posts: 1
Hi,

I am having difficulty creating an HQL statement. The following code is working

ICriteria criteria = session.CreateCriteria(typeof
(Organization));
criteria.CreateAlias("Addresses", "alist");
criteria.CreateAlias("alist.items", "add");
criteria.Add(Expression.Like("add.State", "U%"));
return criteria.List<Organization>();

but when I want to code the same in HQL I get an error "could not
resolve property: items of:". The hql is given below

string sql = "from Organization as o join fetch
o.Addresses a join fetch a.items x where x.State like 'U%'";
IQuery query = session.CreateQuery(sql);
return query.List<Organization>();

The mapping I am using is as follows

<class name="Organization" table="Organization" lazy="false">
<id name="OrganizationID" column="OrganizationID" type="int">
<generator class="native"/>
</id>
<property name="OrganizationName" column="OrganizationName"
type="String" not-null="true"></property>
<component name="Addresses">
<bag name="items" table="OrgAddressMap" lazy="false" cascade
="save-update" access="field">
<key column="OrganizationID"/>
<many-to-many class="Address" column="AddressID"/>
</bag>
</component>
</class>

What is wrong with the HQL statement?

Thanks

Anurag
 
Don't get me started about those stupid light bulbs.
 
subject: Help in HQL