[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-7060) Add support for mode that causes SQL Server dialect to treat application as semantically authoritative in regards to Java types and their value ranges

Guenther Demetz (JIRA) noreply at atlassian.com
Tue Feb 14 03:46:10 EST 2012


    [ https://hibernate.onjira.com/browse/HHH-7060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45510#comment-45510 ] 

Guenther Demetz commented on HHH-7060:
--------------------------------------

Maybe an alternative solution would be to explain how hibernate-sqlserver users can convert their TINYINT columns
into SMALLINT columns without loosing data, a sort of migration-guide.


> Add support for mode that causes SQL Server dialect to treat application as semantically authoritative in regards to Java types and their value ranges
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-7060
>                 URL: https://hibernate.onjira.com/browse/HHH-7060
>             Project: Hibernate ORM
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.1.0
>            Reporter: John Verhaeg
>            Assignee: John Verhaeg
>
> In particular, there is a disconnect between the value ranges supported by bytes in Java vs. SQL Server: Java byte values are 1 byte, unsigned, while SQL Server values are 0-255.  Previously, negative byte values stored in the Java model would be treated as unsigned bytes by the driver, allowing the reading and writing of such values to "work" from the standpoint of the application, but also resulting in a completely different positive value being stored within the database.  HHH-6815 addressed this disconnect from the standpoint of ensuring values set in the Java model were kept semantically in tact within the database and forcing the use of SMALLINT columns instead of TINYINT columns for byte values.  However, this solution assumes it's important that the database values exactly match what's in the Java model.  It also does not allow for existing databases with existing TINYINT columns, which end up experiencing exceptions when negative byte values are persisted and later retrieved.  The proposed solution is to offer some type of mode that can be set by the user to indicate the Java model should be treated as authoritative wrt data values, which would cause Hibernate to perform as it did in previous releases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the hibernate-issues mailing list