|
jRelationalFramework
download
copyright © 2000, 2001 is.com
|
Ant - This framework uses the java build tool called Ant.
Ant can be downloaded from:
http://jakarta.apache.org/ant.
The jRF build.xml file works with ant 1.3 or above.
Download version 1.6 here
or version 1.7RC1 here.
Note that the rather extensive unit tests
all run clean with 1.7 RC1 so there aren't any major problems expected with it.
The distribution file is in zip format which can be unzipped with the java
jar utility or a tool like WinZip.
Click
here to be notified of new releases. (You'll need a sourceforge id,
but getting one is quick and free)
Changes in version 1.7
- Subtype tables are now supported.
- New options have been added to the SourceGen code for generating base
classes that can be regenerated. The subclasses
aren't being generated yet, but that would be good to add if someone
would like to help out. Thanks to
Don Lyon.
- LongColumnSpecs can now be sequenced primary keys - Thanks to Giustino DeVincentiis
- There is now a DeadPersistentState. If ReturnSavedObject is set to true
the original instance passed in to the save() will be marked dead so
that it cannot be saved again. It is generally best to replace the original instance
with the returned instance to ensure that the timestamps, etc are
updated properly. If the original instance can be used again (because you use
no triggers that modify column values and have no optimistic locks or
update timestamps) then ReturnSavedObject should be set to false.
- Added ShortColumnSpec, SQLTimeColumnSpec, NullableBooleanColumnSpec. Thanks
to Steve Yost and Alix Jermyn
- SQLDateColumnSpec now works properly with Oracle
- Fixed a bug submitted by Tal Man where JDBCHelpers were not being returned to
the pool properly when calling the save(aPO) method on a clean (current)
object.
- Added more constructors to the CompoundPrimaryKeyColumnSpec
- Added a default (empty) constructor to the CompoundPrimaryKeyColumnSpec.
addColumnSpec(..) must be used along with the default constructor.
Changes in version 1.6
- Added com.is.jrf.MySQLDatabasePolicy. Thanks to
David Marshall.
David has documented where the tests fail due to MySQL issues in the
Readme-MySQL.txt file.
- Added com.is.jrf.BigDecimalSpec, com.is.jrf.SQLDateColumnSpec, and
com.is.jrf.StringArrayColumnSpec. Thanks to
Alix Jermyn at
IconMediaLab in Belgium.
- Added an example using the VideoStore code inside of EJB.
See examples/ejb at the root of the distribution.
- Removed the requirement to use a properties file. A warning message will be
printed that it can't be found, but it won't fail anymore unless the
JDBCHelper and the DatabasePolicy is not set properly by the
application code.
- Made some changes to the way transactions are managed to better work
with the XA data source spec.
- Renamed the package names for log4j now that it is an Apache Jakarta tool.
- Added a non-working version of com.is.jrf.PostgreSQLDatabasePolicy.
I wasn't able to get the tests running for PostgreSQL partly because
versions before version 7.1 (which isn't released yet) don't support
ANSI outer joins.
Changes in version 1.5
- JDBCHelper pooling
(and hence connection pooling) capability.
It's not very sophisticated, but it works. It's most useful for those who
don't have access to connection pooling through a servlet engine or
EJB server.
- Now logging with Log4j ( http://www.log4j.org) instead of our
home-grown LogWriter.
- Added FloatColumnSpec and LongColumnSpec objects.
- Updated the documentation to explain JDBCHelperPool and the new logging mechanism.
Changes in version 1.4
- Version 1.4.1 has a fix for timestamps in Oracle. Oracle needs 0-23 hours
and the formatter was specifying 1-24 hours.
- Added the capability to generate PersistentObject and AbstractDomain
subclasses from an existing database. Thank you to Ralph Schaer for this important contribution.
- Improved the capability to create aggregate objects in the postFind() method.
- Updated and improved the documentation.
Changes in version 1.3
-
Numeric columns can now be used for optimistic locks. Previously,
only Timestamp columns could be used for this purpose.
-
Added class AbstractStaticDomain, which caches it's PersistentObjects for
performance gains. This can be used in EJB since the cache uses a
ThreadLocal instance.
-
Added AbstractDomain#preValidate() method that can be overridden.
The preSave() method is now called after validation is done.
-
Moved all of the jrf static final constants to a new JRFConstants interface.
-
Updated the documentation and test cases for these changes.
Changes in version 1.2
-
JDBCHelper class reworked to avoid creating or opening a connection until
needed.
-
Support for deep joins (joining table A to table B to table C).
-
Support for the free, open-source HypersonicSQL (http://hsql.oron.ch).
-
Test cases run "out of the box" using the included HypsersonicSQL jar file.
-
Example of the deep join capability added to the
RentalDomain example class.
-
Removed the populateAttributesOnFind option since it was more confusing
than beneficial.
-
Updated the documentation and test cases for these changes.
Changes in version 1.1
-
Database-independent generation of tables and sequences for enhanced
portability of the test cases.
- Configuration is now driven by a properties file.
- Support for InstantDB (http://instantdb.enhydra.org)
top
main page
noticed
a document error?
copyright © 2000 is.com