Skip to content

@beikov beikov released this Sep 17, 2019 · 2 commits to master since this release

We just released Blaze-Persistence version 1.4.0-Alpha2, this time, mostly with new features!
The most exciting feature of this release is obviously window function support and the new expression syntax support for it.

If you want to get the number of objects while fetching them and avoid the need for grouping or subqueries, you can now do something like

criteriaBuilder.select("count(*) over (partition by entity.id)")

We added support for the most common window functions, also see the new window function chapter: https://persistence.blazebit.com/documentation/core/manual/en_US/index.html#window-functions-2

Other new notable features are:

  • #812 Temporal extraction, diff, truncation and arithmetic functions
  • #803 Introduction of comparison methods that render literals
  • #801 MySQL 8 support
  • #797 EntityManager resolving in spring data integration is random
  • #795 Move available configuration properties to API artifacts
  • #793 Shade ANTLR into parser

Take a look into the changelog for a full list of changes and improvements.

A big thank you goes out to Jan-Willem Gmelig Meyling and his colleague Sayra Ranjha for implementing the initial window functions!

The long awaited feature entity view lifecycle listeners will take some more time as I'm currently working on a new project called blaze-notify
that will make it super easy to integrate transactional notifications(E-Mail, App notifications, etc.) into your own applications.

Unless someone works on a PR for other new features, the next release will be about preliminary support for entity view lifecycle listeners!

Assets 4

@beikov beikov released this May 29, 2019 · 56 commits to master since this release

We just released Blaze-Persistence version 1.4.0-Alpha1, again with a lot of bug fixes especially in the Spring Data integration.
Don't be scared about the Alpha bit. By using an Alpha qualifier, we just want to show that new APIs are not final yet, although in this case, the newly introduces APIs are.
It's completely backwards compatible and as always, we advise you to update quickly to avoid getting bitten by the bugs ;)

The most notable bug fixes are:

  • #812 Clause dependencies are wrongly propagated leading to cardinality mandatory joins not being rendered
  • #803 Reuse correlated attributes during EXISTS subquery rewrite for implicit joins in ON clause
  • #801 Wrong calculation of view index in subselect correlator leads to empty correlations
  • #797 EntityManager resolving in spring data integration is random
  • #795 Offset query parameter ignored by spring data rest integration
  • #793 Embeddable attribute not found when paginating with identifier expressions
  • #792 Init non-mutable attributes in create constructor
  • #733 HibernateJpqlFunctionAdapter broken for Hibernate 5.3

Take a look into the changelog for a full list of changes and improvements.

Thanks to all contributors for reporting issues and helping us understand the root causes.

I'm on vacation for about 1 month now, so the next 1.4 release won't happen before end of July.

Assets 4

@beikov beikov released this Feb 26, 2019 · 139 commits to master since this release

We just released Blaze-Persistence version 1.3.2, again with a lot of bug fixes especially in the DeltaSpike Data integration. It's completely backwards compatible and as always, we advise you to update quickly to avoid getting bitten by the bugs ;)

The most notable bug fixes are:

  • #720 EntityViewRepository findAll(start,max) fails with ClassCastException
  • #722 NPE during view attribute accessor resolving when lacking an explicit version mapping
  • #723 Workaround EclipseLink's wrong null precedence handling on platforms that don't support it
  • #724 Select correlation wrongly tries to load data based on null correlation basis
  • #725 Select alias expressions should be resolved when copying a query or when switching the select clause
  • #728 Non-entity-view deltaspike repository method wrongly tries to resolve entity class via view class
  • #729 Repository method findAll(int start, int max) for entity type doesn't properly paginate
  • #733 Replacing normal collection with recording during flush fails because of invalid setParent call due to ClearAction
  • #734 Readonly parents collection isn't copied when replacing the attribute values
  • #736 Updatable plural attribute doesn't allow updatable/creatable subtypes when missing the setter

Take a look into the changelog for a full list of changes and improvements.

Thanks to all contributors for reporting issues and helping us understand the root causes.

The first alpha release of 1.4.0 will still take some time to bake because of entity view lifecycle listeners which takes some time to get right. We will publish it as soon as we have an acceptable version you can try out!

Assets 4

@beikov beikov released this Jan 15, 2019 · 139 commits to master since this release

Here comes Blaze-Persistence version 1.3.1 with a lot of bug fixes especially for updatable entity views. It's completely backwards compatible and we advise you to update quickly to avoid getting bitten by the bugs ;)

The most notable bug fixes are:

  • #711 Include constantified expression predicates in pagination object query bug core
  • #709 Updatable entity view containing deeply nested collection that is empty wrongly removes tuples from result bug entity-view
  • #707 Empty flat view is added to non-indexed collection invalidly
  • #706 Dirty updatable flat views contained in maps aren't flushed if re-added
  • #705 Dirty state is not properly copied when converting between view types
  • #702 Invalid handling of discriminator predicate in collection update query generation
  • #701 Basic element types of collection bindings are being expanded
  • #694 Joining embeddable on correlated root with JPA Criteria API produces invalid JPQL

Take a look into the changelog for a full list of changes and improvements.

Thanks to all contributors for reporting issues and helping us understand the root causes.

The first alpha release of 1.4.0 depends on a big ticket issue for entity view lifecycle listeners which takes some time to get right. We will publish it as soon as we have an acceptable version you can try out!

Assets 4

@beikov beikov released this Nov 23, 2018 · 141 commits to master since this release

I'm proud to announce that Blaze-Persistence version 1.3.0 is finally done!

It took so much longer than initially planned, mostly because of the great feedback we received that we simply deemed to be too important to be deferred.
We felt that 1.3.0 would only be a partial solution without these fixes and features, so we decided to get those features in before releasing.

The most notable features and bug fixes are:

  • #667 Validate equals/hashCode implementations of JPA managed types used in entity views to avoid errors due to wrong implementations
  • #571 Support binding embeddables and associations using compound or foreign keys in CTE’s and DML
  • #509 Make use of collection DML API for updatable entity views in flushing
  • #681 Allow updatable entity views to have multiple non-cascading parents
  • #434 Implement creatability validation for creatable entity views
  • #402 Special rendering of implicit joins in ON clause
  • #517 Validate inverse remove strategy SET_NULL against column nullability
  • #679 Spring Domain events related bug fixes

Take a look into the changelog for a full list of changes and improvements.

Once again I would like to thank Giovanni Lovato for all the issues he reported. He was testing out early implementations of the query flush strategy for updatable entity view collections
and went through many test-debug cycles with me to get the implementation right for even the most complex JPA models. Without his feedback and patience, the release wouldn't be as good as it is. Thanks for your contribution and keep up the good work!

Thanks to Jan-Willem Gmelig Meyling we caught up on changes coming with Hibernate 5.4 and adapted our implementations to be able to provide a consistent experience!
One of these changes is that with Hibernate 5.4 you will now be able to leverage the single value id access optimization not only for primary ids, but also for natural ids.

With version 1.3.0 a.k.a. Fury being done, we will start working on 1.4.0 a.k.a. Coulson. We might port back critical fixes to 1.3, but in general we don't anticipate to do any further public 1.3 releases.
Since 1.4 is backwards compatible, it should be no problem to work with 1.4.0 Alpha releases to get fixes that were done on master.

If you need fixes back-ported, I would like to direct you to our commercial support.

Assets 4

@beikov beikov released this Sep 6, 2018 · 178 commits to master since this release

Blaze-Persistence version 1.3.0-Alpha3 adds many new features and fixes quite a few issues!

Originally, we didn’t even plan to push out another Alpha release, but we added so many new features and fixed quite a few annoying bugs, that we decided to push out another version instead of letting you wait for the final release.

Unfortunately we had to do some backwards-incompatible changes to the jpa-criteria module as we wrongly made JPA CriteriaQuery dependent on an EntityManager which prevented caching. The only difference is that the EntityManager will now have to be passed to a createCriteriaBuilder method that was added to the JPA extension interface BlazeCriteriaQuery instead of passing it during query creation via the BlazeCriteria utility class.

To support varying page sizes and thus also offsets that aren’t calculatable based on the page and pageSize, we introduced new constructors for KeysetPageRequest and changed the semantics of existing ones in the Spring Data and DeltaSpike Data modules. If you constructed KeysetPageRequest manually, please review if the constructor that you use fits your needs. Since the DeltaSpike Data integration brings it’s own PageRequest API, you are also affected of this change when you construct a PageRequest with the DeltaSpike Data integration.

The most notable features and bug fixes are:

  • #612 Initial Hibernate 5.4 support
  • #648 Support for Spring Data 2.1
  • #305 Problems with the use of the VALUES clause and parameters in the select clause have been fixed
  • #622 Introduced EntityViewSettingProcessor to allow customizing EntityViewSetting used in Spring Data repositories
  • #568, #194 Add support for GROUP BY with PaginatedCriteriaBuilder
  • #444 Support @EmbeddedId and @IdClass attributes when using keyset pagination

Take a look into the changelog for a full list of changes and improvements.

A big thank you is going out to Giovanni Lovato for pushing forward the Spring Data integration, testing edge cases with embeddables and improving the Eclipse development experience. Thanks to Jan-Willem Gmelig Meyling we now also have an integration for the upcoming Hibernate 5.4 release!

The last few issues that are planned for the final 1.3.0 release still need some work. We are currently planning to finish everything up by the end of September.

Assets 4

@beikov beikov released this Jul 20, 2018 · 212 commits to master since this release

Blaze-Persistence version 1.3.0-Alpha2 adds a few new features but mainly focused on bug fixes!

The main features are the support for the new EMBEDDING_VIEW function in entity views,
that finally allows to refer to the entity relation of a view that embeds a SubqueryProvider or CorrelationProvider, but also in case of simple subviews.
Giovanni Lovato did his first PR and added support for passing entity view optional parameters to spring data repository methods via @OptionalParam,
thank you for that!

A few other notable changes and fixes

  • #421 Allow the use of OUTER and macros for subquery correlation joins
  • #597 Smoothen support for associations in embeddables especially in updatable entity views
  • #601 Fix problems in entity views with SELECT fetching of entities with embedded ids
  • #602 Fix problems in entity views with SUBSELECT fetching when subview uses named parameters multiple times
  • #608 Omit null precedence emulation expression on MySQL when it matches the native behavior

We are making good progress on the 1.3 timeline, but a final release will probably take a few more weeks as we preferred fixing bugs that new users encountered over strictly following our plan.
Currently, we assume we can do the 1.3.0 final release by mid August, and we will most likely publish another Alpha release by end of July.

Grab the release while it's hot! We appreciate any feedback, so let us know what you think of this release :)

Assets 4

@beikov beikov released this Jul 5, 2018 · 226 commits to master since this release

Here comes version 1.3.0-Alpha1 containing a lot of fixes and new API methods that allow to make use of Hibernate Envers entities with Blaze-Persistence!!

Thanks for all the testing and issue reports to Giovanni Lovato who helped a lot with getting Blaze-Persistence to work properly with Hibernate Envers!
A big thank you also goes out to Jan-Willem Gmelig Meyling who worked on the support for natural ids and a few other issues!
When he finishes working on a the join avoidance optimization for natural ids in Hibernate we are going to add support for the optimization as well so you can enjoy better performance out of the box when updating Hibernate.

Other than that, we only worked on bug fixes. You can find a list of the fixed issues on GitHub. Note that this release also contains all fixes of 1.2.1.

The next release will be 1.3.0 to be expected by the end of July. We currently do not plan to do any more 1.2 releases unless something critical comes up.
Since 1.3.0-Alpha1 essentially is 1.2.1 with a few additional features, it is safe to update, so please give us feedback on 1.3.0-Alpha1 if you can!

Assets 4

@beikov beikov released this Jul 5, 2018 · 252 commits to master since this release

Here comes version 1.2.1 containing a lot of fixes!

Thanks for all the testing and issue reports to Giovanni Lovato who helped a lot with getting Blaze-Persistence to work properly with Hibernate Envers!
A big thank you also goes out to Jan-Willem Gmelig Meyling who worked on the support for natural ids and a few other issues!
When he finishes working on a the join avoidance optimization for natural ids in Hibernate we are going to add support for the optimization as well so you can enjoy better performance out of the box when updating Hibernate.

Other than that, we only worked on bug fixes. You can find a list of the fixed issues on GitHub.

The next release will be 1.3.0 to be expected by the end of July. We currently do not plan to do any more 1.2 releases unless something critical comes up.

Assets 4

@beikov beikov released this May 8, 2018 · 252 commits to master since this release

We did it! Version 1.2.0 is finally released!

It took a while to get everything right, but now we finally support Java 9 & 10. Updatable entity views now support orphan deletion, the PaginatedCriteriaBuilder API allows to omit the count query and we fixed a few bugs that our ever growing user base reported.
I'd like to thank everyone contributing to this excellent release and personally thank Mahesh for helping me polish the Spring Data integration. He reported quite a few bugs and gave a lot of feedback based on his experience of integrating Blaze-Persistence into his project.

As always, we recommend you to update to the latest version especially since we fixed a few bugs that might bite you unexpectedly, like

  • #544 MacroConfiguration doesn't implement the comparator for macros correctly

Thanks for the throughout analysis on this Jan-Willem Gmelig Meyling!

The next 1.2 release will address a few bugs that can currently be worked around and after that, we will work on the 1.3 release.
Since I am on vacation for a month, the 1.2 release will probably be done by the end of June. The 1.3 release which will be named after S.H.I.E.L.D. director Nick Fury and is currently planned to be released by the end of July.

Assets 4
You can’t perform that action at this time.