[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5140) quoted column doesn't be quoted in sub-query

Strong Liu (JIRA) noreply at atlassian.com
Wed Apr 21 01:14:36 EDT 2010


quoted column doesn't be quoted in sub-query
--------------------------------------------

                 Key: HHH-5140
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5140
             Project: Hibernate Core
          Issue Type: Bug
          Components: core
    Affects Versions: 3.5.1
            Reporter: Strong Liu
             Fix For: 3.5.x


for example:
{quote}
		<union-subclass name="Employee" table="UEmployee">
			<property name="title" column="`unique`"/>
			<property name="department" column="dept"/>
			<many-to-one name="manager" column="mgr_id" class="Employee" cascade="none"/>
			<set name="minions" inverse="true" lazy="true" cascade="all">
				<key column="mgr_id"/>
				<one-to-many class="Employee"/>
				<filter name="region" condition="region = :userRegion"/>
			</set>
		</union-subclass>
{quote}
note, that "title" property's column name is unique, and "unique" is a keyword in all DBs,
hibernate generates the column quoted, like this:
{quote}
    create table UEmployee (
        person_id bigint not null,
        name varchar(255),
        company varchar(255),
        region varchar(255),
        "unique" varchar(255),
        dept varchar(255),
        mgr_id bigint,
        primary key (person_id),
        unique (name)
    )
{quote}
but with a simple hql query "from Person", which "Person" is the parent class of Employee, it will issue the following sql query:
{quote}
   select
        person0_.person_id as person1_0_,
        person0_.name as name0_,
        person0_.company as company0_,
        person0_.region as region0_,
        person0_."unique" as unique1_1_,
        person0_.dept as dept1_,
        person0_.mgr_id as mgr3_1_,
        person0_.contactOwner as contactO1_2_,
        person0_.clazz_ as clazz_ 
    from
        ( select
            person_id,
            name,
            company,
            region,
            null as unique,
            null as dept,
            null as mgr_id,
            null as contactOwner,
            0 as clazz_ 
        from
            UPerson 
        union
        select
            person_id,
            name,
            company,
            region,
            unique,
            dept,
            mgr_id,
            null as contactOwner,
            1 as clazz_ 
        from
            UEmployee 
        union
        select
            person_id,
            name,
            company,
            region,
            null as unique,
            null as dept,
            null as mgr_id,
            contactOwner,
            2 as clazz_ 
        from
            UCustomer 
    ) person0_ 
where
    person0_.region = ?
{quote}

see this "null as unique"?
this can be reproduced by org.hibernate.test.subclassfilter.UnionSubclassFilterTest

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