[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2715) DB2390Dialect does not support unique index generation for primary key
Maximiliano Fierro (JIRA)
noreply at atlassian.com
Wed Jul 11 10:14:52 EDT 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_27447 ]
Maximiliano Fierro commented on HHH-2715:
-----------------------------------------
I have tried this patch and it works properly. About other things that I must change long type is mapped to BIGINT type and DB2 on OS390 doesn't accept that. I have to remap it to DOUBLE.
My procedure was:
-Create a class and extend from DB2390Dialect.
-Override method mentioned by Eric (supportsUniqueConstraintInCreateAlterTable) to return false.
-Declare an index on the primary key.
For that people that use Annotations I must declare a Constraint on my Table in order to create this index:
@Table(name="TEST_TBL", uniqueConstraints={@UniqueConstraint(columnNames={"id"})} )
Note that you don't need to use an @Index because the DDL generated for this Annotation is without UNIQUE word.
Hope that be helpful!
> DB2390Dialect does not support unique index generation for primary key
> ----------------------------------------------------------------------
>
> Key: HHH-2715
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2715
> Project: Hibernate3
> Issue Type: Patch
> Components: core
> Affects Versions: 3.2.4.sp1
> Environment: hibernate 2.1.4 - database: DB2 for 0S390 v7.1 - OS390
> Reporter: Eric Georges
> Original Estimate: 10 minutes
> Remaining Estimate: 10 minutes
>
> supportsUniqueConstraintInCreateAlterTable return true. For IBM DB2 on OS 390 it must return false.
> hbm file :
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC
> "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
> <hibernate-mapping>
> <class name="events.Event" table="EVENTS">
> <id name="id">
> <column name="ID" unique-key="ID_IDX" sql-type="int">
> </column>
> <generator class="increment"></generator>
> </id>
> <property name="date" type="timestamp" column="DATE"></property>
> <property name="title" type="string" column="TITLE">
> </property>
> </class>
> </hibernate-mapping>
> Actually it generate this :
> create table EVENTS (ID int not null, DATE timestamp, TITLE varchar(255), primary key (ID), unique (ID))
> if supportsUniqueConstraintInCreateAlterTable return false it does :
> create table EVENTS (ID int not null, DATE timestamp, TITLE varchar(255), primary key (ID))
> create unique index ID_IDX on EVENTS (ID)
> the right SQL code for DB2 v7 on OS390
--
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