[hibernate-issues] [Hibernate-JIRA] Closed: (HHH-905) $PlaceHolder$ remains in generated SQL when filter is enabled
Steve Ebersole (JIRA)
noreply at atlassian.com
Mon Mar 21 13:00:51 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Ebersole closed HHH-905.
------------------------------
Closing stale resolved issues
> $PlaceHolder$ remains in generated SQL when filter is enabled
> -------------------------------------------------------------
>
> Key: HHH-905
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-905
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.1 beta 2
> Environment: JDK 1.5.0_03,
> Oracle 10.1.0.3
> Reporter: Fedor Bokov
> Assignee: Steve Ebersole
> Fix For: 3.1 rc 1
>
> Attachments: HHH-905.src.zip
>
>
> When I enable filter on session, Hibernate 3.1b1 & 3.1b2 generate following SQL:
> select folder0_."ID" as ID1_13_, folder0_."sName" as sName3_13_, folder0_."idContentObjectType" as idConten4_13_, folder0_."idOwner" as idOwner5_13_, folder0_."idParent" as idParent6_13_, folder0_."nType" as nType2_13_ from "Folders" folder0_ where (0 = $PlaceHolder$."idOwner" OR :VisibleObjects.userid = $PlaceHolder$."idOwner") and (folder0_."idParent" is null)
> Note those $PlaceHolder$
> Here is mapping of class "Folder" and definition of filter "VisibleObjects":
> <class name="Folder" table="`Folders`" discriminator-value="2" lazy="false">
> <cache usage="read-write"/>
> <id name="id" type="long" unsaved-value="0">
> <column name="`ID`" not-null="true"/>
> <generator class="sequence">
> <param name="sequence">"Folders_ID_seq"</param>
> </generator>
> </id>
> <discriminator column="`nType`"/>
> <property name="name" column="`sName`"/>
> <many-to-one name="contentObjectType" column="`idContentObjectType`" outer-join="false"
> class="com.agi.sputnik.dataproviders.dataprovider1.dataobjects.metadata.ObjectType"/>
> <many-to-one name="owner" column="`idOwner`" class="com.agi.sputnik.dataproviders.dataprovider1.dataobjects.User" cascade="none"/>
> <many-to-one name="parent" class="Folder" column="`idParent`" outer-join="false"/>
> <property name="type" column="`nType`" insert="false" update="false"/>
> <bag name="subFolders" order-by="`sName`" inverse="true">
> <cache usage="read-write"/>
> <key column="`idParent`"/>
> <one-to-many class="Folder"/>
> <filter name="VisibleObjects" condition="(`idOwner` = 0 OR `idOwner` = :userid)" />
> </bag>
> <subclass discriminator-value="0" name="UserFolder">
> <set name="objects" table="`FolderObjects`" lazy="true">
> <cache usage="read-write"/>
> <key column="`idFolder`"/>
> <element type="long" column="`idObject`"/>
> </set>
> </subclass>
> <subclass discriminator-value="3" name="PocketFolder"/>
> <subclass discriminator-value="1" name="ObjectTypeFolder"/>
> <filter name="VisibleObjects" condition="(0 = `idOwner` OR :userid = `idOwner`)" />
> </class>
> <filter-def name="VisibleObjects" >
> <filter-param name="userid" type="long" />
> </filter-def>
> Fragment of code which enables filter and executes query:
> Session hs = getSession();
> hs.enableFilter( "VisibleObjects" ).setParameter( "userid", owner.getId() );
> Query q = hs.createQuery( "FROM Folder obj WHERE obj.parent is null" );
> List<IFolder> objList = q.list();
> I use Oracle9Dialect.
> These filters used to work with 3.0.5, appears to be broken in 3.1.
> Let me know if you need more information...
--
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