[jira] Commented: (IBATIS-434) Abator cannot map mysql tinyint data type!

2007-06-04 Thread Jeff Butler (JIRA)

[ 
https://issues.apache.org/jira/browse/IBATIS-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501199
 ] 

Jeff Butler commented on IBATIS-434:


I don't believe this is a bug - the JDBC driver probably reports this field as 
Object type because TINYINT is not a standard JDBC type.

In your configuration for this table, you'll have to add a columnOverride 
element to specify the type you desire (java.lang.Short, java.lang.Integer, 
etc.)

Also - please use the mailing lists for support questions!


 Abator cannot map  mysql tinyint data type!
 ---

 Key: IBATIS-434
 URL: https://issues.apache.org/jira/browse/IBATIS-434
 Project: iBatis for Java
  Issue Type: Bug
  Components: Tools
 Environment: mysql 5.0.27 fro windows
Reporter: Andrea Pantaleoni
Priority: Minor

 This happens with the current version of Abator
 when Abator  try to map a table in mysql database map the tinyint data type  
 to Object java class
 to reapet:
 Create table if not exists Example (
ID tinyint(1)
   ) 
   ENGINE = InnoDB;
 Abator will create:
 public class Bug {
 /**
  * This field was generated by Abator for iBATIS.
  * This field corresponds to the database column bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 private Object id;
 /**
  * This method was generated by Abator for iBATIS.
  * This method returns the value of the database column bug.id
  *
  * @return the value of bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 public Object getId() {
 return id;
 }
 /**
  * This method was generated by Abator for iBATIS.
  * This method sets the value of the database column bug.id
  *
  * @param id the value for bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 public void setId(Object id) {
 this.id = id;
 }
 }
 which is not correct because the type tinyint is mapped to java class Object
 Many thanks

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



[jira] Commented: (IBATIS-434) Abator cannot map mysql tinyint data type!

2007-06-04 Thread Jeff Butler (JIRA)

[ 
https://issues.apache.org/jira/browse/IBATIS-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501217
 ] 

Jeff Butler commented on IBATIS-434:


What are you expecting Abator to generate?

If you have the property tinyInt1isBit set to true, then I suppose you want 
a boolean.  Otherwise, a byte.  Is that correct?  But my guess is that the 
driver still reports Object as the data in either instance.  So I still 
recommend that you use a columnOverride to tell Abator what to do in this 
situation.  This is the reason columnOverride exists.

There are other instances in MySql where you need to use columnOverride - 
because MySql has many more type options than JDBC.  There is some information 
in the Abator documentation about this.


 Abator cannot map  mysql tinyint data type!
 ---

 Key: IBATIS-434
 URL: https://issues.apache.org/jira/browse/IBATIS-434
 Project: iBatis for Java
  Issue Type: Bug
  Components: Tools
 Environment: mysql 5.0.27 fro windows
Reporter: Andrea Pantaleoni
Priority: Minor

 This happens with the current version of Abator
 when Abator  try to map a table in mysql database map the tinyint data type  
 to Object java class
 to reapet:
 Create table if not exists Example (
ID tinyint(1)
   ) 
   ENGINE = InnoDB;
 Abator will create:
 public class Bug {
 /**
  * This field was generated by Abator for iBATIS.
  * This field corresponds to the database column bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 private Object id;
 /**
  * This method was generated by Abator for iBATIS.
  * This method returns the value of the database column bug.id
  *
  * @return the value of bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 public Object getId() {
 return id;
 }
 /**
  * This method was generated by Abator for iBATIS.
  * This method sets the value of the database column bug.id
  *
  * @param id the value for bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 public void setId(Object id) {
 this.id = id;
 }
 }
 which is not correct because the type tinyint is mapped to java class Object
 Many thanks

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



[jira] Commented: (IBATIS-434) Abator cannot map mysql tinyint data type!

2007-06-04 Thread Andrea Pantaleoni (JIRA)

[ 
https://issues.apache.org/jira/browse/IBATIS-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501229
 ] 

Andrea Pantaleoni commented on IBATIS-434:
--

Jeff my goal it is just to contribute to open source software

I tried mysql jdbc driver mysql-connector-java-5.0.3-bin.jar
 with the following code

Class.forName(com.mysql.jdbc.Driver);
String url =jdbc:mysql://localhost:3311/test;
Connection con =DriverManager.getConnection(url,root, 
menem);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SELECT id FROM BUG);
ResultSetMetaData rsmd = rs.getMetaData();
System.out.println(rsmd.getColumnType(1));

if I define the column id as tinyint(4) I get -6 which is java.sql.Types.TINYINT
if I define the column id as tinyint(1) I get -7 which is java.sql.Types.BIT

in the abator source code the class JavaTypeResolverDefaultImpl

is written in the method public void 
initializeResolvedJavaType(ColumnDefinition cd)

case Types.BIT:
type.setJdbcTypeName(BIT); //$NON-NLS-1$
type.setFullyQualifiedJavaType(new 
FullyQualifiedJavaType(Object.class.getName()));
break;

why you map BIt with class Object?

i add the sun notes about mapping sql types with java types

9.3.3 BIT

The JDBC type BIT represents a single bit value that can be zero or one.

SQL-92 defines an SQL BIT type. However, unlike the JDBC BIT type, this SQL-92 
BIT type can be used as a parameterized type to define a fixed-length binary 
string. Fortunately, SQL-92 also permits the use of the simple 
non-parameterized BIT type to represent a single binary digit, and this usage 
corresponds to the JDBC BIT type. Unfortunately, the SQL-92 BIT type is only 
required in full SQL-92 and is currently supported by only a subset of the 
major databases. Portable code may therefore prefer to use the JDBC SMALLINT 
type, which is widely supported.

The recommended Java mapping for the JDBC BIT type is as a Java boolean. 

thanks
 

 Abator cannot map  mysql tinyint data type!
 ---

 Key: IBATIS-434
 URL: https://issues.apache.org/jira/browse/IBATIS-434
 Project: iBatis for Java
  Issue Type: Bug
  Components: Tools
 Environment: mysql 5.0.27 fro windows
Reporter: Andrea Pantaleoni
Priority: Minor

 This happens with the current version of Abator
 when Abator  try to map a table in mysql database map the tinyint data type  
 to Object java class
 to reapet:
 Create table if not exists Example (
ID tinyint(1)
   ) 
   ENGINE = InnoDB;
 Abator will create:
 public class Bug {
 /**
  * This field was generated by Abator for iBATIS.
  * This field corresponds to the database column bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 private Object id;
 /**
  * This method was generated by Abator for iBATIS.
  * This method returns the value of the database column bug.id
  *
  * @return the value of bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 public Object getId() {
 return id;
 }
 /**
  * This method was generated by Abator for iBATIS.
  * This method sets the value of the database column bug.id
  *
  * @param id the value for bug.id
  *
  * @abatorgenerated Mon Jun 04 14:20:19 CEST 2007
  */
 public void setId(Object id) {
 this.id = id;
 }
 }
 which is not correct because the type tinyint is mapped to java class Object
 Many thanks

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