[hibernate-issues] [Hibernate-JIRA] Resolved: (HHH-2443) Need a way to query only for specific class types or turning off check for subclasses

Steve Ebersole (JIRA) noreply at atlassian.com
Fri Feb 23 16:36:31 EST 2007


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2443?page=all ]
     
Steve Ebersole resolved HHH-2443:
---------------------------------

    Resolution: Rejected

This is covered in the documentation; have a look.  Or ask *user questions* on the user forums.

> Need a way to query only for specific class types or turning off check for subclasses
> -------------------------------------------------------------------------------------
>
>          Key: HHH-2443
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2443
>      Project: Hibernate3
>         Type: Task

>     Versions: 3.1.3
>  Environment: 3.1.3, oracle 10.2.0.2
>     Reporter: Jason

>
>
> I have two generic tables with the possibility of a lot of data in each. 
> One called instance and one called association. Each has there own properties table instance_property and association_property.  They each have there own mapping files which I will list below.
> In the code, Association extends Instance. 
> So the problem I am having is everytime I query for Instance i.e. HQL - from instance i where type=:type.
> This will create two queries "select i.* from instance i where i.type=:type" and "select i.* from association i where i.type=:type".  
> Since Instance, Association, InstanceProperty, and AssociationProperty  have there own mapping files and they both have there own tables (therefore no discriminators), how can I only have it query on Instance? 
> And querying on Association is fine since it does not have subclasses and it only executes one query.
> Am I missing something, or is this just not possible at this time?
> In summary, I am requesting a way for HQL to only query on the instance class I specify without checking the subclasses.
> <!-- Instance -->
> 	<class name="Instance" table="instance">
> 		<cache usage="read-write" />
> 		<id name="id" column="id" type="java.lang.Long">
> 			<generator class="assigned" />
> 		</id>
> 		<version name="version" column="version" type="long" />
> 		<map name="propertiez" table="instance_to_property">
> 			<cache usage="read-write" />
> 			<key column="instance_id" />
> 			<index column="name" type="string" />
> 			<many-to-many class="InstanceProperty"
> 				column="instance_property_id" fetch="join" />
> 		</map>
> 	</class>
> <class name="InstanceProperty"
> 		table="instance_property">
> 		<cache usage="read-write" />
> 		<id name="id" column="id" type="long">
> 			<generator class="native" />
> 		</id>
> 		<version name="version" column="version" type="long" />
> 		<property name="name" column="name" type="string"
> 			not-null="true" />
> 		<property name="key" column="is_key" type="boolean"
> 			not-null="true" />
> 		<property name="value" column name="value"  type="string"/>
> 		</property>
> 	</class>
> <!-- Association -->
> <class name="Association" table="association">
> 		<cache usage="read-write" />
> 		<id name="id" column="id" type="java.lang.Long">
> 			<generator class="assigned" />
> 		</id>
> 		<version name="version" column="version" type="long" />
> 		<map name="propertiez" table="association_to_property">
> 			<cache usage="read-write" />
> 			<key column="association_id" />
> 			<index column="name" type="string" />
> 			<many-to-many class="AssociationProperty"
> 				column="association_property_id" fetch="join" />
> 		</map>
> 		<property name="referenceId1" column="referenceId1"
> 			type="java.lang.Long" />
> 		<property name="referenceId2" column="referenceId2"
> 			type="java.lang.Long" />
> 	</class>
> <class name="AssociationProperty"
> 		table="association_property">
> 		<cache usage="read-write" />
> 		<id name="id" column="id" type="long">
> 			<generator class="native" />
> 		</id>
> 		<version name="version" column="version" type="long" />
> 		<property name="name" column="name" type="string"
> 			not-null="true" />
> 		<property name="key" column="is_key" type="boolean"
> 			not-null="true" />
> 		<property name="value" column name="value"  type="string"/>
> 		</property>
> 	</class>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list