If you alter a class used as a column datatype by reinstalling a modified version of the class, make sure that the modified class can read and use existing objects (rows) in tables using that class as a datatype. Otherwise, you may be unable to access those objects without reinstalling the class.
With the -j jar_name option:
All classes in the database associated with the target JAR are deleted from the database and the classes in the source JAR file installed in their place.
If a class in the source JAR file is already installed in the database but is not attached to a JAR, the class in the source JAR is installed in the database and the unattached class is deleted.
Without the -j jar_name option:
Classes in the source JAR file replace unattached classes of the same name.
Classes in the source JAR that do not correspond to an installed class are installed as unattached classes in the database.
If you install a new JAR with a replacement for an installed class that is referenced by a SQLJ procedure or function, make sure that the newly installed class has a valid signature for the SQLJ routine. If the signature is invalid, an exception is raised when the SQLJ routine is invoked.