In MySQL use LONGBLOB, MEDIUMBLOB etc.. when needed, cause BLOB only holds 64kb of data.
----------------------------------------------------------------------------------------
Key: OPENJPA-740
URL: https://issues.apache.org/jira/browse/OPENJPA-740
Project: OpenJPA
Issue Type: Improvement
Components: sql
Affects Versions: 1.2.0
Reporter: Simone Gianni
When a column is annotated as a BLOB of using @Persistent to use streaming blobs, and the
underlying database is MySQL, OpenJPA will create a column of type BLOB. Unfortunately, in
MySQL a BLOB column can hold a (vary) limited amount of data, while (especially when using
streaming blobs) the user would probably expect it to hold a large amount of data.
Also adding the @Column annotation and specifying a size bigger than what a BLOB column in
MySQL can hold, OpenJPA still creates only a BLOB column.
I think OpenJPA should be able to create the proper column type depending on the @Column annotation
if present, or otherwise default at least to a MEDIUMBLOB to preserve cross-database compatibility
as expected.
The simplest patch i can think of is setting blobTypeName="MEDIUMBLOB" in the MySQLDictionary
constructor.
Otherwise, overriding the getTypeName to properly parse the length and return the correct
BLOB/TEXT type for mysql.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|