Skip to content

Releases: martin-jamszolik/goodenough-jdbc

v1.7.2

26 Dec 00:25
a8970b3
Compare
Choose a tag to compare

What's Changed

  • Attempt to query an entity even if no Annotation present on the class. by @martin-jamszolik in #16

Full Changelog: v1.7.1...v1.7.2

Release v1.7.1

23 Nov 20:43
24f4689
Compare
Choose a tag to compare

Mainly code cleanup and more unit testing, along with dependency updates with gradle.
Code hardening.
No major api behavior changes

What's Changed

Full Changelog: v1.7.0...v1.7.1

Release 1.7.0

22 Mar 02:26
bd6a8b5
Compare
Choose a tag to compare

What's Changed

The #15 RefValue object can really come in handy when you are retrieving a list of data model like, Purchase Orders, or Proposals. Those object have references to other rich objects. However, you don't want to load these completely other than their ID and their main identifying label.

Real scenario in Kotlin:

@Named("purchaseorder")
@PrimaryKey("po")
class PurchaseOrder(
    var po: Long?=null,
    @Ref(value="req_key",label="requester.name") var requester: RefValue?=null,
    @Ref(value="sup_key",label="supplier.sup_name") var supplier: RefValue?=null,
    @Ref(value="adr_key",label="poaddress.address") var address:RefValue?=null,
    var effective: LocalDate? = null,
    var tax: BigDecimal?= BigDecimal.ZERO,
    var voidDate: LocalDate?=null,
    var pay_type: String?=null,
    @Skip val items: MutableList<PurchaseItem> = mutableListOf(),
) : Model()

The list of Purchase orders now contain enough of information to render and display in a list and their IDs if we ever had to load full details on requester, supplier.

Full Changelog: v1.6.1...v1.7.0

Release 1.6.1

23 Apr 02:38
b7829d6
Compare
Choose a tag to compare

What's Changed

  • Usecase between java.util.Date vs java.time.LocalDate
    Added LocalDate support when configured for such field type.

Full Changelog: v1.6.0...v1.6.1

Release 1.6.0

26 Feb 03:26
Compare
Choose a tag to compare
  • Increase Code Coverage by adding small corner cases based on real use project scenarios
  • Make spring library compile only scope, so that your project does not import conflicting version and use your version instead.
  • Cache PersistenceRowMapper cachable with the use of of() method. This really helps when you use lambda blocks for mapping logic.
  • SqlQuery. Remove confusing where vs clause methods. Just use clause for all usecases to combine SQL statements. It's just more consistent this way. We should not try to develop a DSL API to make sure your query is valid. It's just good enough to use for dynamic query scenarios.

Release 1.5.0

27 Jan 05:58
9890c49
Compare
Choose a tag to compare
  • Improve PersistableRowMapper so that it handles labeled column better.
  • Improve Kotlin compatibility when mapping numeric keys between Long and Int as primitives.
  • Changed Model key properties to refs to better Json nesting apprehension.

Release 1.4.0

28 Dec 17:42
10a74c4
Compare
Choose a tag to compare

This release includes updates to make it easier to marshal the model objects with libraries like Jackson
when exposed over REST API.

Example:

{
    "pp_key": 24,
    "date": "2015-11-16T10:00:00.000+00:00",
    "title": "Hosted Application Subscription 2015-2016",
    "editable": false,
    "profit": 0.00,
    "type": 0,
    "status": "Approved",
    "authorized": "2015-11-16T05:00:00.000+00:00",
    "key": {
        "keys": [
            {
                "key": "pr_key",
                "value": 45
            }
        ]
    },
    "id": 45,
    "new": false
}

Model and API breaking changes have been introduced here.
A bit of refactoring will be needed if library used extensively

Release 1.3.0

23 Dec 16:44
266f466
Compare
Choose a tag to compare

Added support for Field annotations.
This helps when using Java records or Kotlin Data classes.
Covered additional cases with foreign key names being different between two tables.

Version 1.2.0

18 Dec 03:26
9db36ce
Compare
Choose a tag to compare

More refinements, test cases, and composite key support. Consolidating additional API.

Version 1.0

17 Dec 05:44
b60d4dc
Compare
Choose a tag to compare

Version v1.0.
With over 90% coverage and a representative unit test to demonstrate all features.