[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-951?page=co...
]
Andy Xie commented on HHH-951:
------------------------------
I meet this problem and solve it.
In my case, It happened if more many-to-one relation in the hbm file.
For example:
...
<class name=... />
...
<subclass name="AClass" discriminator-value="8">
...
<many-to-one name="column" column="columnId"
class="CTable"/>
...
</subclass>
<subclass name="BClass" discriminator-value="8">
...
<many-to-one name="column" column="columnid"
class="CTable"/>
...
</subclass>
...
</class>
...
Please notice the many-to-one section of the two subclass, the column of AClass is
"columnId", it's uppercase, but the second is lowercase(columnid). Please
modify the second to "columnId", hibernate will generate correct SQL that do not
include duplicate column.
My environment is Hibernate 3.1 and Oracle 10g.
setMaxResults causes "ORA-00918: column ambiguously
defined" exception
-----------------------------------------------------------------------
Key: HHH-951
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-951
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.0.5, 3.1 beta 2
Environment: hibernate3.0.5, hibernate3.1b2, Oracle 9
Reporter: Karel Sommer
when create criteria with associations, i get this error:
ORA-00918: column ambiguously defined
mapping:
<class name="User" table="FRAME_USER"
dynamic-update="true" dynamic-insert="true">
<id name="id" type="long"
unsaved-value="null">
<column name="ID" not-null="true"/>
<generator class="sequence">
<param name="sequence">frame_user_seq</param>
</generator>
</id>
<version type="timestamp" column="stamp"
name="timestamp" unsaved-value="null"/>
<property name="user_name" type="string"
not-null="true"/>
<property name="blocked" type="yes_no"
not-null="true"/>
<property name="access_logon" type="timestamp"/>
<property name="denied_logon" type="timestamp"/>
<property name="inactivity_time" type="long"/>
<property name="session_count" type="long"/>
<idbag name="terminalGroups" table="FRAME_USER_TERMINAL"
fetch="join" outer-join="true">
<collection-id column="ID" type="long">
<generator class="sequence">
<param
name="sequence">frame_user_terminal_seq</param>
</generator>
</collection-id>
<key column="id_user"/>
<many-to-many column="id_terminal_groups"
class="TerminalGroup" fetch="join" outer-join="true"/>
</idbag>
</class>
<class name="TerminalGroup" table="FRAME_TERMINAL_GROUPS"
dynamic-update="true" dynamic-insert="true">
<id name="id" type="long"
unsaved-value="null">
<column name="ID" not-null="true"/>
<generator class="sequence">
<param
name="sequence">frame_terminal_groups_seq</param>
</generator>
</id>
<version type="timestamp" column="stamp"
name="timestamp" unsaved-value="null"/>
<property name="name" column="group_name"
type="string" not-null="true"/>
<idbag name="terminals" table="FRAME_TERMINAL_REL"
fetch="join" outer-join="true">
<collection-id column="ID" type="long" >
<generator class="sequence">
<param
name="sequence">frame_terminal_rel_seq</param>
</generator>
</collection-id>
<key column="id_term_group"/>
<many-to-many column="id_term" class="Terminal"
fetch="join" outer-join="true"/>
</idbag>
</class>
<class name="Terminal" table="FRAME_TERMINAL"
where="status != 'D'" dynamic-update="true"
dynamic-insert="true">
<id name="id" type="long"
unsaved-value="null">
<column name="ID" not-null="true"/>
<generator class="sequence">
<param name="sequence">frame_terminal_seq</param>
</generator>
</id>
<version type="timestamp" column="stamp"
name="timestamp" unsaved-value="null"/>
<property name="status" type="char"
not-null="true"/>
<property name="mac" type="string"
not-null="true"/>
<property name="name" column="ident"
type="string" not-null="true"/>
<property name="description" type="string"/>
code:
session.createCriteria(User.class)
.add(Restrictions.like("user_name", "%")
.createCriteria("terminalGroups")
.add( Restrictions.like("group_name", "%").
.setProjection(Projections.rowCount())
.uniqueResult();
--
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