[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-468) MysqlDialect incorrectly maps java.lang.Boolean to SQL BIT

Kaoru Shirai (JIRA) noreply at atlassian.com
Thu Jan 22 22:01:47 EST 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32180#action_32180 ] 

Kaoru Shirai commented on HHH-468:
----------------------------------

> Can't we just map BIT to tinyint(1) in the MySQL dialect. This seems okay for all MySQL dialects (MyISAM and InnoDB).
> One of the problems with bit in MySQL is that standard it's not show in a MySQL console.

Me, too! I think this change does not affect seriously.
This problem is annoying many people:
[mysql bit hibernate boolean - Google Search]
http://www.google.com/search?q=mysql+bit+hibernate+boolean


> MysqlDialect incorrectly maps java.lang.Boolean to SQL BIT
> ----------------------------------------------------------
>
>                 Key: HHH-468
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-468
>             Project: Hibernate Core
>          Issue Type: Bug
>    Affects Versions: 3.0.3
>         Environment: Hibernate 3.0, MySQL.
>            Reporter: Mark Matthews
>            Assignee: Scott Marlow
>
> I didn't track down how java.lang.Boolean gets mapped to Types.BIT in hibernate, but you probably _don't_ want to map to "bit" like you do in MysqlDialect. 
> "bit", according to SQL99 (it's not in the core standard, and the type was actually dropped for sql2k3) is a bitfield, not a boolean value. You can of course define a bit(1), but it is technically more correct for java.lang.Boolean to map to a SQL BOOLEAN for MySQL since we support a BOOLEAN and a BIT. 
> It looks like the JDBC-3.0 guys ignored what the standard said, because in reality you'd want BIT to map to something like byte[], or java.util.BitSet if you were tracking how the SQL standard defines BIT.
> I'm guessing you probably want to map to "boolean", which the JDBC driver will automagically convert for you, as it silently maps to TINYINT(1) on the server side.

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