Thanks Markus, I will get in touch with them.

On Sun, 5 May 2019, 19:29 Markus Geiss, <[email protected]> wrote:

> Hey Graham,
>
> I can't jump in with the enhancement issue, but maybe it is worth to send
> a message to the OpenJPA list.
>
> In my opinion there is no need to replace the Hibernate validator because
> it uses a different license then Hibernate ORM. It is dual licensed under
> Apache v2.
>
> Cheers
>
> Markus
>
> Ebenezer Graham <[email protected]> schrieb am So., 5. Mai 2019,
> 09:04:
>
>> Hello Fineracters,
>>
>> I am migrating the project's ORM from Hibernate to OpenJPA and I want to
>> use this thread to discuss issues related to it.
>>
>> I have started building on the progress made by Isaac Kamga and I am
>> currently changing the ORM to connect to PostgreSQL.
>>
>> I am working on the migration in this order
>> 1. Postgres Library -
>> https://github.com/ebenezergraham/fineract-cn-postgresql/commit/c10a1e77c3a290c1faa671621baf6c6037ba260a
>> 2. Provisioner Service -
>> https://github.com/ebenezergraham/fineract-cn-provisioner/tree/FINCN-2
>> 3. Customer Service -
>> https://github.com/ebenezergraham/fineract-cn-customer/tree/FINCN-2
>>
>> *Entity enhancement blocker*
>> I would like to know if anyone has experience on how to dynamically
>> enhance entity classes for OpenJPA. Unlike hibernate, OpenJPA requires
>> entity classes to be enhanced for monitoring purposes (read more here
>> http://openjpa.apache.org/entity-enhancement.html). OpenJPA does not
>> provide documentation on how to configure the enhancement with spring or
>> gradle.  I would appreciate it if someone could share their experience on
>> how to handle this (a better way of doing this
>> https://openjpa.apache.org/enhancement-with-maven.html with gradle or a
>> plugin).
>>
>> The above issue has led to this error(full log here:
>> https://pastebin.com/kGQu4qLH)
>>
>> Error creating bean with name 'jpaMappingContext': Invocation of init
>>> method failed; nested exception is <openjpa-2.4.1-r422266:1730418 fatal
>>> user error> org.apache.openjpa.util.MetaDataException: The type "class
>>> org.apache.fineract.cn.customer.internal.repository.PortraitEntity" has not
>>> been enhanced.
>>
>>
>> *Issues Removing Hibernate Validator*
>> OpenJPA and Javax validation combined does not provide all of the
>> validations supported by Hibernate. I believe this is why the hibernate
>> validator was used in the first place. However, there are a few cases eg:
>> @NotBlank and @ScriptAssert used in Anubis
>> https://github.com/ebenezergraham/fineract-cn-anubis/blob/b454a2729c5044a310413c4ce938b3760bb417c9/api/src/main/java/org/apache/fineract/cn/anubis/api/v1/domain/PermittableEndpoint.java#L29
>> .
>>
>> The approach I have taken is to write new validators to complement Javax
>> validators. eg: A custom NotBlank validator in the Lang Library:
>> https://github.com/ebenezergraham/fineract-cn-lang/commit/efb00532d3ae2ed5a24dac154c52d7581f27539f.
>> Even though these validations are a few, I am not convinced of how it will
>> scale. I'm open to suggestions.
>>
>> PS: I noticed that the out/ directory has not been ignored. Is there a
>> special reason for this? If not, I will add them to the .gitignore file as
>> I make the migrations in each service. This is because new contributors
>> might mistakenly push compiled code onto GitHub.
>>
>> Looking forward to hearing from you.
>>
>> Warm Regards,
>> Graham.
>>
>

Reply via email to