[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2715?page=c...
]
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira