Dalesbred - a database access library for Java
@DalesbredInstantiator
to always use the
annotated constructor instead of trying to detect constructor automatically.
(#19)@DalesbredTransactional
and TransactionalProxyFactory
.TypeConversionRegistry
. (#14)TypeConversionRegistry
to customize this.Database.getDialect
. There should not be a need to access the Dialect directly.findMap
to allow more than one column for instantiating the value. (Closes #2)InstantiatorRegistry
, Instantiator
and related classes/methods from public API.TypeConversionRegistry
to org.dalesbred.conversion
and removed TypedConversion
from
public API. Register conversion functions to TypeConversionRegistry instead.getCount
from NonUniqueResultException
so that its possible to throw the exception
without reading all rows from database.ResultTable.getColumnTypes()
now returns Type
-objects. New ResultTable.getRawColumnTypes
returns raw Class<?>
-objects. Similarly getType
in ResultTable.ColumnMetadata
now returns
Type
and raw class can be returned with getRawType
.VariableResolvers.resolverForMap/resolverForBean
to VariableResolver.forMap/forBean
.TransactionContext
an interface instead of abstract class.Database.createTransactionalProxyFor
. Use TransactionalProxyFactory.createTransactionalProxyFor
instead.Database
. Database.getTransactionManager
can be used to access
TransactionManager
for configuring these.findUniqueOrNull
and findOptional
to return null/empty when single null result is returned.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.
findOptional
-methods in Database
, returning java.util.Optional
values.EmptyResultException
as a subclass of NonUniqueResultException
for case with zero results.fi.evident.dalesbred
to org.dalesbred
.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
org.dalesbred.annotation
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
public
, but are not part of Dalesbred's supported
API to org.dalesbred.internal
.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.NamedParameterQueries.namedQuery
. Use SqlQuery.namedQuery
instead.fi.evident.dalesbred.Reflective
to test folder so that it's not visible in API.fi.evident.dalesbred.Transactional
to org.dalesbred.annotation.DalesbredTransactional
so that it does not clash with Spring's @Transactional
fi.evident.dalesbred.instantiation.InstantiationListener
completely.fi.evident.dalesbred.connection.DriverManagerDataSourceProvider
.
New org.dalesbred.connection.DriverManagerConnectionProvider
can be used instead.