[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