Method used to retrieve data from the database server depends on the type of Java object component. If component type is java.io.InputStream , then method getBinaryStream is used for peeking value of this column. Different SQL databases support different sets of basic types. JORA tries to fix this problem by doing conversion of the object to string and allowing database server to perform necessary conversion from string to target database type. There is also a problem with choosing types for table columns when database table is created.
Different vendors use different names for the same type.
Unfortunately JORA can not help you in solving this problem and creating portable applications, working with different databases. Cursor allows you to successively access selected objects. As far as polymorphic queries can require issuing of more than one SQL statement to fetch data from different tables, it is also task of the Cursor class to construct necessary SQL statements for each such table. Extracting selected objects into array makes it possible to perform random access to selected objects. It is possible to limit size of the array, so that only restricted number of objects will be placed in the array.