Release Notes
2.2.0
- Added support for multiple schema names
- Added delete with query methods to Session
- Added “es” to table name guesser for tables like “Tax” or “Mailbox”
- Added readOnly to Column annotation to allow for columns to not include in insert or update statements
- Added Support for sequence types with MSSQL
- Performance: Additional MetaData caching to reduce GC stress
- Fixed SQLite misreported LONG as INT which was fixed and confirmed by version 3.39.3.0
2.1.0
- Implemented table joins!
- Update log4j2 reference in POM to 2.17.1
- Added warning if using a primary key on a View
- Added support for fluent styled POJOs
- Added support for transient keyword on fields (same behaviour as @NotColumn)
- Performance: Converter Moved DateFormatters to ThreadLocal
- Performance: Converter optimized switch statement
- Performance: Improvements to Reader for class and record from DB
- Updated baseline version for Derby to 10.15.2.0
- Updated baseline version for SQLite to 3.36.0.2
- Fixed some cases where property names were case-sensitive
2.0.1
- Update log4j2 reference in POM to 2.15.0
2.0.0
- Set baseline to be Java 17 (see the 1.x branch for Java 8+)
- Added SQL type wrapper for String
- Added Parameters type wrapper for parameters array
- Added better type safe query and fetch methods
- Added SQL where method (shorthand where Persism knows the columns) which supports property names as well as column names
- Added SQL proc method to indicate the query is a call to a stored proc rather than a SELECT statement
- Added support for named parameters
1.2.0
- Added support for Views
- Added query ‘select *’ method to session
- Finalized support for Informix (Tests added)
- Changed query statements to make explicit forward only and read only
- Improve readRecord performance
- Added BIT column to byte property conversion
Breaking changes
- Update/Delete now also return a typed Result object containing the rows changed and modified data object.
1.1.0
- Added support for Records! (Java 16)
- Added preliminary support for Informix (looking for help to set up a vbox vm)
- Fixed UPDATE statement using columns in alphabetical order (All Persism generated SQL should be in column order)
- Fixed support for MSAccess with UCanAccess jdbc driver in Java 16
- Fixed issue with Queries cached with missing columns
- Fixed @Table name case sensitivity
- Added warnings if Persism doesn’t have results when querying for DatabaseMetaData
- Added new constructor for Session to supply a fake URL for situations where the Connection metadata url returns null
Breaking changes
- Insert now returns a typed Result object containing the rows changed and modified data object for cases when you insert a Record and there are defaults or autoincs to assign.
1.0.3
- Added support for MSAccess with UCanAccess jdbc driver (seems to be broken under Java 16 right now #13)
- Added new method withTransaction() to Session - simplifying multiple operations in a single database transaction
- Added automatic module name sproket.github.io.persism for 9+ support
- Added support for Log4j 2
Breaking changes
- Property discovery now sees properties with getters only as possible columns (considered read-only columns). You will need to use the @NotColumn annotation to avoid the “<table/query> was not properly initialized.” Runtime exception. (this was done for future support for Records)
- Persistable interface was changed. Renamed getOriginalValue method to readOriginalValue to avoid possible collision with read-only properties.
1.0.2
- Added detection of autoinc type for Oracle > 11 if using the form: “COLUMN_NAME” NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY
- Added tests and warning for byte type since it’s not consistently represented in different databases
- Added basic 1st pass support for TestContainers using Docker
- Removed String length check on INSERT and UPDATE statements
- Fixed POM including unnecessary dependencies
- Updated Tests to Junit 4
1.0.1
- Added support for UUID as generated key for PostgreSQL
- Added support for UUID for other supported DBs (mapping to String or byte array)
- Added support for sql.Time, LocalTime, LocalDate, LocalDateTime
- Added support for BigInteger
- Added support for MSSQL/JTDS money and smallmoney types (mapping to Float, Double or BigDecimal)
- Added support for ENUM type in the db - mapping to Java enum (PostgreSQL, MySQL, H2)
- Added warning when using a primitive type mapped to a column with a default in the database
- Added AutoClosable implementation to Session
- Updated test mssql jdbc driver to 8.4.1
- Updated test H2 jdbc driver to 1.4.200
- Removed null waring about sql type 1111 (Other) will just be considered Object
- Fixed java.lang.UnsupportedOperationException occurring if you have LocalDateTime and DATE (not time) type in the DB
- Fixed missing Derby keyword delimiters
- Fixed issue where objects using Persistable interface would have all columns updated in some cases
1.0.0
Initial release