MySQL SMALLINT UNSIGNED is mapped as java.lang.Short, should be 
java.lang.Integer
---------------------------------------------------------------------------------

                 Key: CAY-1125
                 URL: https://issues.apache.org/cayenne/browse/CAY-1125
             Project: Cayenne
          Issue Type: Bug
          Components: Cayenne Core Library
    Affects Versions: 2.0 [STABLE]
         Environment: Ubuntu Linux 8.04, Java 1.6.0_07, MySQL  
5.0.51a-3ubuntu5.1, MySQL Connector/J 5.1.6
            Reporter: Ricardo Ghisi Tobaldini
            Assignee: Andrus Adamchik


When trying to retrieve the value of a column that is of type "SMALLINT 
UNSIGNED" an exception of type 
com.mysql.jdbc.exceptions.jdbc4.MySQLDataException is raised.

This only happens if the value on that column is greater than 32767, since it 
overflows the Java Short type (that is always signed).

Forcing the type to INTEGER in the map.xml changes anything.

It seems that Cayenne is using a getShort() when it should use getInteger() 
(the later is always needed when using the unsigned version of SMALLINT in the 
database, doesn't it?).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to