When running a schemaexport on mapping of the type StringClob using the MySql(5) dialect I get the sql type VARCHAR(255) instead of LONGTEXT (mapping and output sql below).
Exporting with sql server 2000/2005 dialect gives ntext/nvarchar(max) as expected.
Any ideas? Is this a bug?
Thank you.
/Cristian
hbm mapping:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="N2.Details.ContentDetail,N2" table="n2Detail" lazy="true">
<cache usage="nonstrict-read-write" />
<id name="ID" column="ID" type="Int32" unsaved-value="0">
<generator class="native"/>
</id>
<discriminator column="Type" type="String" />
<many-to-one name="Item" column="ItemID" class="N2.ContentItem,N2" not-null="true" />
<many-to-one name="Collection" column="DetailCollectionID" class="N2.Details.DetailCollection,N2" />
<property name="Name" type="String" length="50" />
<subclass name="N2.Details.BooleanDetail,N2" discriminator-value="Bool">
<property name="BoolValue" type="Boolean" />
</subclass>
<subclass name="N2.Details.IntegerDetail,N2" discriminator-value="Int">
<property name="IntValue" type="Int32" />
</subclass>
<subclass name="N2.Details.LinkDetail,N2" discriminator-value="Link">
<many-to-one name="LinkedItem" column="LinkValue" class="N2.ContentItem,N2" />
</subclass>
<subclass name="N2.Details.DoubleDetail,N2" discriminator-value="Double">
<property name="DoubleValue" type="Double" />
</subclass>
<subclass name="N2.Details.DateTimeDetail,N2" discriminator-value="DateTime">
<property name="DateTimeValue" type="DateTime" />
</subclass>
<subclass name="N2.Details.StringDetail,N2" discriminator-value="String">
<property name="StringValue" type="StringClob" />
</subclass>
<subclass name="N2.Details.ObjectDetail,N2" discriminator-value="Object">
<property name="Value" type="Serializable" length="2147483647" />
</subclass>
</class>
</hibernate-mapping>
Resulting output (some irrelevant constraints snipped):
Code:
create table n2Detail (
ID INTEGER NOT NULL AUTO_INCREMENT,
Type VARCHAR(255) not null,
ItemID INTEGER not null,
DetailCollectionID INTEGER,
Name VARCHAR(50),
BoolValue TINYINT(1),
IntValue INTEGER,
LinkValue INTEGER,
DoubleValue DOUBLE,
DateTimeValue DATETIME,
StringValue VARCHAR(255),
Value LONGBLOB,
primary key (ID)
)