Marten Deinum opened SPR-17159 and commented
With JPA 2.2 it is finally possible to do injection into AttributeConverters. The standard describes that when using CDI that injection. It would be nice if when using Spring injection would be supported as well.
JPA 2.1 introduced injecting in EntityListeners with CDI would be nice if injection would work for that as well.
Added bonus would be if this would work with both JPA and plain Hibernate.
Affects: 5.1 RC1
Reference URL: https://github.com/javaee/jpa-spec/issues/109
Issue Links: - #20852 Support Hibernate 5.3's ManagedBeanRegistry for dependency injection
Comment From: spring-projects-issues
Andrei Ivanov commented
I wonder if #20852 fixes this issue already. Or maybe this fixes the issue only when using Hibernate as the JPA implementation.
Comment From: spring-projects-issues
Marten Deinum commented
Darn, missed that totally while investigating this in JIRA. This can be considered a duplicate I guess.
Comment From: spring-projects-issues
Andrei Ivanov commented
As I said, this only works with Hibernate 5.3 :) It might still be valid if you're not using Hibernate or an earlier version.
Comment From: spring-projects-issues
Juergen Hoeller commented
Indeed, #20852 covers this for Hibernate already. Since we need a callback from the persistence provider here, we can only really do this in conjunction with specific SPI contracts... such as the one that we got in Hibernate 5.3. Otherwise, the best you can is do use @Configurable
through AspectJ weaving.
I'll repurpose this ticket to the main missing part: JPA 2.2 injection support for EclipseLink.
Comment From: wilx
We use Eclipselink. It would be nice to have this. I wanted to use the converters for transparent encryption/decryption of some of the fields in entities but to do that I need to have access to some Spring beans.
Comment From: jhoeller
Since https://github.com/eclipse-ee4j/eclipselink/issues/1089 has not got any traction, we're closing this issue from Spring's side.