Dalesbred Versions Save

Dalesbred - a database access library for Java

v1.2.1

8 years ago

Bug fixes

  • org.slf4j:slf4j-api was marked as optional dependency in POM, although it's required.

v1.2.0

8 years ago

Changes

  • Use SLF4J instead of java.util.logging for logging (#25)

v1.1.0

8 years ago

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

9 years ago

Documentation

Changes from 1.0.0-rc.2

  • Relax SqlArray.of and SqlArray.varchars to accept any Collection instead of just Lists.

v1.0.0-rc.2

9 years ago

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 and TransactionalProxyFactory.
  • Removed support for transaction retries.

v1.0.0-rc.1

9 years ago

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 in TypeConversionRegistry 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

9 years ago

New features

  • New updateBatchAndProcessGeneratedKeys for performing batch updates and returning generated keys. (#9)
  • Guide for migration from 0.x. (#6)

v1.0.0-alpha.3

9 years ago

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 to org.dalesbred.conversion and removed TypedConversion from public API. Register conversion functions to TypeConversionRegistry instead.
  • Removed 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.
  • Renamed VariableResolvers.resolverForMap/resolverForBean to VariableResolver.forMap/forBean.
  • Made TransactionContext an interface instead of abstract class.
  • Removed Database.createTransactionalProxyFor. Use TransactionalProxyFactory.createTransactionalProxyForinstead.
  • 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

9 years ago

New features

  • Ignore underscores on Java fields and setters when resolving instantiators. (Fixes #3)

Other changes

  • Reverted functionality of findUniqueOrNull and findOptional to return null/empty when single null result is returned.

v1.0.0-alpha.1

9 years ago

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 in Database, returning java.util.Optional values.
  • Added EmptyResultException as a subclass of NonUniqueResultException for case with zero results.

Breaking changes

  • Renamed base package fi.evident.dalesbred to org.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
  • Moved classes that are technically public, but are not part of Dalesbred's supported API to org.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. Use SqlQuery.namedQuery instead.
  • Moved fi.evident.dalesbred.Reflective to test folder so that it's not visible in API.
  • Renamed fi.evident.dalesbred.Transactional to org.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. New org.dalesbred.connection.DriverManagerConnectionProvider can be used instead.