Re: [OJB-developers] Detecting and mapping null Integer values
Brought to you by:
thma
From: Thomas M. <tho...@ho...> - 2002-02-13 19:10:07
|
Hi Darren, Darren Syzling wrote: > How can I detect null values for Integer, Long, Double etc Java class attributes > ? Let's say we're mapping an object which has the following attributes: > > class Test > { > Integer id; > String name; > Integer sales; > } > > > Let's assume that both name and sales can be null. When retrieving this object > from the database using the PersistenceBroker the String reference will be null > but the sales reference will in fact refer to an Integer object with a zero > value. If zero is within the valid range how can we detect that the value is > actually null. > > This appears to boil down to: JdbcAccess.getObjectFromColumn. The code to > convert a string looks like: > > case Types.VARCHAR: > result = rs.getString(columnId); > break; > > If the string value is null getString will return a null reference. But for > Integer (and other classes) the following is used: > > case Types.INTEGER: > result = new Integer(rs.getInt(columnId)); > break; > I get your point. But: how should the above code look like to handle your problem correctly? I have no idea. If you (or somebody else) tell me how this section should look like I will change it! java.sql.ResultSet does not tell you that a column is NULL. It just returns a 0. Of course this is wrong. But SUN specified it this way. Or am I missing something? From the java.sql.ResultSet Source: /** * Gets the value of the designated column in the current row * of this <code>ResultSet</code> object as * an <code>int</code> in the Java programming language. * * @param columnIndex the first column is 1, the second is 2, ... * @return the column value; if the value is SQL <code>NULL</code>, * the value returned is <code>0</code> * @exception SQLException if a database access error occurs */ int getInt(int columnIndex) throws SQLException; > getInt will return 0 for null and the an integer will be created with a zero > value. > > The Conversion Strategy stuff appears too late in the day to make the > conversion. You are right, things are already on the wrong track at this point.... How is everybody else handling this or have I missed something ? cu, Thomas > > > Thanks > Darren > > > > ****************************************************************************************************************************************************** > This e-mail has been prepared using information believed by the author to be > reliable and accurate, but Thales Information Systems Finance makes no > warranty as to accuracy or completeness. In particular Thales Information > Systems Finance does not accept responsibility for changes made to this > e-mail after it was sent. Any opinions expressed in this document are those of > the author and do not necessarily reflect the opinions of the company or its > affiliates. They may be subject to change without notice. > This e-mail, its content and any files transmitted with it are intended > solely for the addressee(s) and may be legally privileged and/or > confidential. Access by any other party is unauthorised without the express > written permission of the sender. If you have received this e-mail in error you > may not copy or use the contents, attachments or information in any way. > Please destroy it and contact the sender via the Thales Information Systems > Finance switchboard in London at +44 (0) 20 7650 0100 or via e-mail return. > This message and any attachments have been scanned > for viruses prior to leaving the originators network. The originator does not > guarantee the security of this message and will not be responsible for any > damages arising from any alteration of this message by a third party or as a > result of any virus being passed on. > ******************************************************************************************************************************************************* > > > > _______________________________________________ > Objectbridge-developers mailing list > Obj...@li... > https://lists.sourceforge.net/lists/listinfo/objectbridge-developers > > > > |