[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2507) Support for CLOB not working for DB2 when table per concrete class is being used
Tim Smith (JIRA)
noreply at atlassian.com
Tue Apr 10 05:27:08 EDT 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_26667 ]
Tim Smith commented on HHH-2507:
--------------------------------
I have experienced the same problem with Types.VARBINARY.
It seems to me the issue is with org.hibernate.dialect.DB2Dialect.
As a temporary fix I have added a case for VARBINARY as:
case Types.VARBINARY:
return "cast(null as char for bit data)";
This fixes my problem however I am not sure it is suitable as a general fix.
> Support for CLOB not working for DB2 when table per concrete class is being used
> --------------------------------------------------------------------------------
>
> Key: HHH-2507
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2507
> Project: Hibernate3
> Issue Type: Bug
> Affects Versions: 3.2.2
> Reporter: breako
>
> Hi,
> This came up in the forums:
> http://forum.hibernate.org/viewtopic.php?p=2344008#2344008
> Sample code: Two Pojos
> @Entity
> public class Person {
> private int i;
> @Identity
> public int getI() {
> return i;
> }
> public void setI(int i){
> this.i = i;
> }
> }
> @Entity
> public class Employee extends Person{
> @Basic(fetch=FetchType.LAZY)
> @Lob
> public String getClobAttr() {
> return clobAttr;
> }
>
> public void setClobAttr(String clobAttr) {
> this.clobAttr = clobAttr;
> }
> }
> Simple test:
> public static void main (String args[]) {
> Query queryImpl = em.createQuery(" from Person");
> List list = queryImpl.getResultList();
> }
> This will generate SQL
> select person0_.clobAttr as clobAttr1 from (select nullif(0,0) as clobAttr from TPerson union all select clobAttr from TEmployee) person0_
> which chucks the exception:
> DB2 SQL error: SQLCODE: -415, SQLSTATE: 42825, SQLERRMC: null
> I think the SQL hibernate should generate should be:
> select person0_.clobAttr as clobAttr1 from (select cast(null as CLOB) as clobAttr from TPerson union all select clobAttr from TEmployee) person0_
--
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