Releases: EvidentSolutions/dalesbred
Releases · EvidentSolutions/dalesbred
v1.2.1
v1.2.0
v1.1.0
New features
- Allow annotating constructors with
@DalesbredInstantiator
to always use the
annotated constructor instead of trying to detect constructor automatically.
(#19) - Support binding arrays on Oracle, which does not support standard JDBC API.
- Add dialect for H2. (#20)
- Support property paths when binding (instead of just simple names). (#7)
v1.0.0
Documentation
Changes from 1.0.0-rc.2
- Relax
SqlArray.of
andSqlArray.varchars
to accept anyCollection
instead of justList
s.
v1.0.0-rc.2
New features
- Add support for registering custom key functions for native enums.
- Fail faster if registering native enum conversion on Dialect that does not support native enums.
Breaking changes
- Removed support for Guice and AOP Alliance.
- Removed
@DalesbredTransactional
andTransactionalProxyFactory
. - Removed support for transaction retries.
v1.0.0-rc.1
New features
- Simplified API for registering enum conversions through
TypeConversionRegistry
. (#14)
Breaking changes
- Database native enums are no longer the default because they depended on ugly hack to
guess the database type name. By default enums are bound using name, but you can use
methods inTypeConversionRegistry
to customize this. - Removed support for setting configuring default isolation level. If you need to set
the default isolation, set it for the connections at your connection-provider. - Removed
Database.getDialect
. There should not be a need to access the Dialect directly.
v1.0.0-alpha.4
v1.0.0-alpha.3
New features
- Generalized
findMap
to allow more than one column for instantiating the value. (Closes #2)
Breaking changes
- Removed
InstantiatorRegistry
,Instantiator
and related classes/methods from public API. - Moved
TypeConversionRegistry
toorg.dalesbred.conversion
and removedTypedConversion
from
public API. Register conversion functions to TypeConversionRegistry instead. - Removed
getCount
fromNonUniqueResultException
so that its possible to throw the exception
without reading all rows from database. ResultTable.getColumnTypes()
now returnsType
-objects. NewResultTable.getRawColumnTypes
returns rawClass<?>
-objects. SimilarlygetType
inResultTable.ColumnMetadata
now returns
Type
and raw class can be returned withgetRawType
.- Renamed
VariableResolvers.resolverForMap/resolverForBean
toVariableResolver.forMap/forBean
. - Made
TransactionContext
an interface instead of abstract class. - Removed
Database.createTransactionalProxyFor
. UseTransactionalProxyFactory.createTransactionalProxyFor
instead. - Removed accessors for isolation
Database
.Database.getTransactionManager
can be used to access
TransactionManager
for configuring these. - Removed support for configuring default propagation. Use propagation on per-transaction basis.
v1.0.0-alpha.2
New features
- Ignore underscores on Java fields and setters when resolving instantiators. (Fixes #3)
Other changes
- Reverted functionality of
findUniqueOrNull
andfindOptional
to return null/empty when single null result is returned.
v1.0.0-alpha.1
First alpha for 1.0 -version of Dalesbred. This is not source compatible with previous versions, but unless you have been using really obscure features, just renaming packages in imports should be enough.
New features
- New family of
findOptional
-methods inDatabase
, returningjava.util.Optional
values. - Added
EmptyResultException
as a subclass ofNonUniqueResultException
for case with zero results.
Breaking changes
- Renamed base package
fi.evident.dalesbred
toorg.dalesbred
. - Other package renames:
fi.evident.dalesbred.dialects
->org.dalesbred.dialect
fi.evident.dalesbred.lob
->org.dalesbred.datatype
fi.evident.dalesbred.results
->org.dalesbred.result
fi.evident.dalesbred.support
->org.dalesbred.integration
fi.evident.dalesbred.tx
->org.dalesbred.transaction
- Moved some classes to new packages:
- All annotations to
org.dalesbred.annotation
- All transaction-related classes to
org.dalesbred.transaction
. fi.evident.dalesbred.SqlQuery
->org.dalesbred.query.SqlQuery
fi.evident.dalesbred.SqlArray
->org.dalesbred.datatype.SqlArray
fi.evident.dalesbred.ResultTable
->org.dalesbred.result.ResultTable
fi.evident.support.proxy.TransactionalProxyFactory
->org.dalesbred.transaction.TransactionalProxyFactory
- All annotations to
- Moved classes that are technically
public
, but are not part of Dalesbred's supported
API toorg.dalesbred.internal
. - Removed
SqlQuery.confidential
. Some database drivers will print the values passed to
database in exceptions anyway, so the only safe way to make sure that values are not
revealed inadvertently is not to show exceptions at all. - Removed
NamedParameterQueries.namedQuery
. UseSqlQuery.namedQuery
instead. - Moved
fi.evident.dalesbred.Reflective
to test folder so that it's not visible in API. - Renamed
fi.evident.dalesbred.Transactional
toorg.dalesbred.annotation.DalesbredTransactional
so that it does not clash with Spring's@Transactional
- Removed
fi.evident.dalesbred.instantiation.InstantiationListener
completely. - Removed
fi.evident.dalesbred.connection.DriverManagerDataSourceProvider
.
Neworg.dalesbred.connection.DriverManagerConnectionProvider
can be used instead.