[
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira