[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1483) MySQL5: No Dialect mapping for JDBC type: -1

David (JIRA) noreply at atlassian.com
Mon Apr 16 18:09:04 EDT 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_26740 ] 

David commented on HHH-1483:
----------------------------

I had this issue when running a native query. The dialect I was using was MySQLInnoDBDialect.. It had an issue with a 'text' column. I subclassed MySQLInnoDBDialect and did this

 registerColumnType(Types.LONGVARCHAR, 65535, "text");

After debugging for a while I found it was actually getting the issue when going into getHibernateTypeName, not getTypeName. Ths register method above affects getTypeName, not getHibernateTypeName. Because of this I instead wrote

 registerHibernateType(Types.LONGVARCHAR, 65535, "text");

This took care of my problem. Being the first time I have ever looked at Hibernate's source I have no idea if this is what I should be doing. Looking further I believe the fix to this issue (AGAIN 1st time looking at source) is to add the following to the constructor of org.hibernate.dialect./Dialect       (Note I didn't test this approach but looking at the code it should surely fix the problem)

registerHibernateType( Types.LONGVARCHAR, Hibernate.STRING.getName() );       // TODO: Check make sure the 2nd arg is right

I am not sure if the second argument is what it should be -- I really have no idea what the difference between hibernateTypeNames and typeNames is suppose to be but I hope this helps someone fix this issue.

In my opinion this is a large bug and should be high priority since "text" is a very commonly used type and used by default when hibernate creates tables for you.


> MySQL5: No Dialect mapping for JDBC type: -1
> --------------------------------------------
>
>                 Key: HHH-1483
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1483
>             Project: Hibernate3
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.1.2
>         Environment: MySQL 5.0.18-nt
>            Reporter: Sergey Vladimirov
>            Priority: Minor
>
> MySQL5: No Dialect mapping for JDBC type: -1
> SELECT answpos,answer  FROM votes_answers WHERE question=? ORDER BY answpos
> mysql> describe votes_answers;
> +----------+---------+------+-----+---------+-------+
> | Field    | Type    | Null | Key | Default | Extra |
> +----------+---------+------+-----+---------+-------+
> | question | int(11) | NO   | MUL |         |       |
> | answpos  | int(11) | NO   |     |         |       |
> | answer   | text    | YES  |     | NULL    |       |
> +----------+---------+------+-----+---------+-------+
> mysql> describe temp;
> +---------+---------+------+-----+---------+-------+
> | Field   | Type    | Null | Key | Default | Extra |
> +---------+---------+------+-----+---------+-------+
> | answpos | int(11) | NO   |     | 0       |       |
> | answer  | text    | YES  |     | NULL    |       |
> +---------+---------+------+-----+---------+-------+
> Please, let me know what to add to MySQL5Dialect :)
> Will it be ok to add? :
> registerColumnType( Types.LONGVARCHAR, "text" );

-- 
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