[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-2530) Filter and Join together BUG -attachments included for example of reproduction

SK (JIRA) noreply at atlassian.com
Thu Mar 29 10:02:05 EDT 2007


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

SK updated HHH-2530:
--------------------

    Attachment: filter.sql
                Response.hbm.xml
                Request.hbm.xml

This is my test for the filter...

Please have a look at how the useridFilter can be enabled for a join query as below

public void testRequest() {
Session session = factory.openSession();
Transaction ts = session.beginTransaction();
session.enableFilter("useridFilter").setParameter("userid", "danny");
List list = session.createQuery("select req from Response res join res.request req").list();
Iterator result = list.iterator();
while (result.hasNext()) {
Request req = (Request) result.next();
logger.debug(req.getTxnid() + " " + req.getUserid()+" : " + req.getChecktype());
}
ts.commit();
session.close();
}



Here is the output
there is no trace of criteria involving userid when I enable show_sql option



    [junit] Running com.hibernate.test.filter.orm.RequestFilterTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.34 sec
    [junit] Testsuite: com.hibernate.test.filter.orm.RequestFilterTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.34 sec
    [junit] ------------- Standard Output ---------------
    [junit] org.hibernate.tool.hbm2ddl.SchemaUpdate ERROR Unsuccessful: alter table RESPONSE add constraint FK1A5D0441F4EBC70D foreign key (TXNID) references REQUEST
    [junit] org.hibernate.tool.hbm2ddl.SchemaUpdate ERROR ORA-02275: such a referential constraint already exists in the table
    [junit] au.com.mbf.pvm.services.saclient.RetrieveReportRequestClient DEBUG Buffering enabled
    [junit] org.hibernate.jdbc.JDBCContext DEBUG after transaction begin
    [junit] Hibernate:
    [junit] select
    [junit] request1_.TXNID as TXNID0_,
    [junit] request1_.USERID as USERID0_,
    [junit] request1_.CHECKTYPE as CHECKTYPE0_
    [junit] from
    [junit] RESPONSE response0_
    [junit] inner join
    [junit] REQUEST request1_
    [junit] on response0_.TXNID=request1_.TXNID
    [junit] au.com.mbf.pvm.AbstractTest DEBUG 1 park : CREDIT
    [junit] au.com.mbf.pvm.AbstractTest DEBUG 2 danny : POLICE
    [junit] au.com.mbf.pvm.AbstractTest DEBUG 3 dam : REF
    [junit] au.com.mbf.pvm.AbstractTest DEBUG 4 dam : REF
    [junit] org.hibernate.jdbc.JDBCContext DEBUG before transaction completion
    [junit] org.hibernate.jdbc.JDBCContext DEBUG after transaction completion
    [junit] org.hibernate.jdbc.JDBCContext DEBUG after transaction completion


It returns four records, it should have returned only one where the user id was 'danny', if the filter was working.

Have a look at Request.hbm.xml for my filter definition and filter condition.
I tried putting USERID = :userid as well as :userid = USERID as suggested in chapter 17 of the Hibernate 3 documentation regarding filter.




> Filter and Join together BUG -attachments included for example of reproduction
> ------------------------------------------------------------------------------
>
>                 Key: HHH-2530
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2530
>             Project: Hibernate3
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 3.2.0.cr2
>         Environment: 3.2.0, Oracle 9
>            Reporter: SK
>         Attachments: filter.sql, Request.hbm.xml, Response.hbm.xml
>
>
> Select a, b from
> TableA, TableB
> where TableA.id=TableB.id
> if i enable a filter, the query above works
> but when doing so with join it fails
> select a,b
> from TableA join TableB
> if i try to enable filter now, it will fail

-- 
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