Hi All,

Apache Syncope had to write a plugin to integrate their solution with
Spring 5.
https://github.com/apache/syncope/commit/17a8eb5d99a84608a64927b00e7d9352d640517e

Looks like the Spring team will support just 2 ORMs officially moving
forward: Hibernate and EclipseLink. Good thing Eclipse link happens to be
compatible with Apache license and also officially supported by future
version of Spring.

On Wed, Jul 10, 2019 at 8:50 AM Michael Vorburger <m...@vorburger.ch> wrote:

> On Wed, Jul 10, 2019 at 8:43 AM Isaac Kamga <u2is...@gmail.com> wrote:
>
>> Hello devs,
>>
>> Just thought I should remind the community about why these migrations are
>> necessary.
>>
>> The rationale behind migrating the ORM from Hibernate is that Hibernate
>> ORM's license[1] falls under the ASF's Category X[1].
>>
>> Not complying to the ASF's licensing requirements is a sure-fire method
>> to never getting an official release for Fineract CN.
>>
>> Does anyone think there's another way around these ?
>>
>
> I doubt it. I think Hibernate is, unfortunately (I do actually agree), a
> non-starter and not a realistic option for Fineract at the ASF.
>
> FYI I recently looked into this kind of topic in
> https://issues.apache.org/jira/browse/LEGAL-462, which you may find
> interesting to glance at in this context. There are, numerous, similar
> other JIRA issues if you search for "LGPL" on
> https://issues.apache.org/jira.
>
>
>> Cheers,
>> Isaac Kamga.
>>
>> [1] https://hibernate.org/community/license/
>> [2] https://www.apache.org/legal/resolved.html
>>
>> On Tue, Jul 9, 2019 at 11:08 PM Victor Manuel Romero Rodriguez <
>> victor.rom...@fintecheando.mx> wrote:
>>
>>> Hello
>>>
>>> I will give my own opinions, by the way I don't work for any company
>>> mentioned here :)
>>>
>>> For short:
>>>
>>> *I will keep using using Hibernate because it has advantages over the
>>> others ORM listed. *
>>>
>>>
>>> TL/TR
>>>
>>> The value of the core are the transactions recorded with confidence in a
>>> Structured Database, the reliability of the Database is important,
>>> customers can have their balances, their loans, investments, charges. The
>>> audit guys will be happy to find in our journals the expected information.
>>> The authorities will receive the reports that extract the information.
>>>
>>> Example:
>>>
>>> I got the source code of Fineract/Fineract-CN/Mifos and for some reason
>>> the DataTable is not enough so then I need to modify the code... but I
>>> don't not anything about the ORM technology,wait a minute I have some bucks
>>> to pay a course at:
>>>
>>> Udemy (search results)
>>>
>>> 252 results for hibernate
>>> 0 results for EclipseLink
>>> 0 results for OpenJPA
>>> 0 results for DataNucleus
>>>
>>> Ok, well now it is time to find some references in Google search engine
>>> and learn about the ORM technology that Fineract/Fineract-CN/Mifos X uses
>>>
>>> Search results
>>>
>>> 2,350,000 hibernate
>>> 138,000 OpenJPA
>>> 74,900 EclipseLink
>>> 15,400 DataNucleus
>>>
>>> Ok let's try to find the source code, have some references, samples (ok
>>> just to learn, not to reuse because we can keep that in mind and later
>>> affect the Open Source).
>>>
>>> Github (search results)
>>>
>>> 44,123 repositories hibernate
>>> 478 repositories Eclipselink
>>> 108 repositories OpenJPA
>>> 142 repositories datanucleus
>>>
>>> After that I have touched the code and something goes wrong... yes, the
>>> dev list of the ORM Technology is the first option, but what about to ask
>>> to everybody at
>>>
>>> StackOverflow (search results)
>>>
>>> 78,304 Hibernate
>>> 500 datanucleus
>>> 500 openjpa (coincidence?)
>>> 500 eclipselink (OK NO, StackOverflow has something strange in its
>>> search engine)
>>>
>>> I consider that if the ORM technology is a MUST to be migrated, the ORM
>>> team must be invited, involved, exchange experiences to feel the same pain
>>> and help because it will benefit both projects.
>>>
>>> Regards
>>>
>>> Victor
>>> On 7/1/19 1:47 a. m., Awasum Yannick wrote:
>>>
>>> Hi Graham,
>>>
>>> +1 EclipseLink as its supported by spring 4.x and latest spring versions
>>> and compatible with Apache license. Our upgrade to Spring 5.x or 6.x will
>>> be easier.
>>>
>>> We dont want to build and maintain our own integration of OpenJPA with
>>> Spring 5 or 6 in the future.
>>>
>>> On Mon, Jul 1, 2019 at 7:40 AM Juhan Aasaru <aas...@gmail.com> wrote:
>>>
>>>> Hi!
>>>>
>>>> Good job starting the discussion.
>>>> Based on your arguments I also see EclipseLink as the best solution.
>>>> I also found one more argument for using EclipseLink - it supports
>>>> multi-tenancy:
>>>>
>>>> https://www.eclipse.org/eclipselink/documentation/2.7/solutions/multitenancy.htm#CHDBJCJA
>>>>
>>>> Juhan
>>>>
>>>> Kontakt Ebenezer Graham (<ebenezergraha...@gmail.com>) kirjutas
>>>> kuupƤeval E, 1. juuli 2019 kell 07:09:
>>>>
>>>>> Hello Devs,
>>>>>
>>>>> I have started this thread to discuss the JPA implementation to adopt
>>>>> as we work towards making Fineract CN Apache compliant as well as to 
>>>>> ensure
>>>>> that we are all aligned as a community.
>>>>>
>>>>> I am currently working on the migration to OpenJPA as my GSoC project.
>>>>> However, a number of red flags as well and requests from other community
>>>>> members has made it critical to start this thread.
>>>>>
>>>>> As most of you know, we can't use Hibernate as it's not compliant
>>>>> therefore, it's essential that we migrate to an equally good ORM.
>>>>>
>>>>> *Our options:*
>>>>> 1. EclipseLink - EPL 1.0 & BSD
>>>>> 2. OpenJPA - Apache 2.0
>>>>> 3. DataNucleus - Apache 2.0
>>>>>
>>>>> Not recommended
>>>>> 4. iBatic - Apache 2.0 (still functional but retired
>>>>> https://ibatis.apache.org/)
>>>>> 5. TopLink - CDDL (category B license, and simply extend EclipseLink)
>>>>>
>>>>> I used the following criteria in the following order of priority.
>>>>> 1. License
>>>>> 2. Implementation's performance with respect to PostgreSQL
>>>>> 3. Support in Spring as well as ORM Documentation
>>>>> 4. Project Maturity
>>>>>
>>>>> Right off the bat, I suggest the adoption of EclipseLink
>>>>> <https://wiki.eclipse.org/EclipseLink> based on new insights
>>>>> discovered, re-evaluation of our options, and compatibility issues
>>>>> discovered whiles migrating to OpenJPA.
>>>>>
>>>>> *Why EclipseLink?  *
>>>>> According to JPA Performance benchmark -
>>>>> http://www.jpab.org/All/All/All.html EclipseLink is the Most
>>>>> Efficient ORM (amongst our valid options) when persisting to PostgreSQL 
>>>>> and
>>>>> even outperforming Hibernate.
>>>>>
>>>>> Performance Summary (with respect to Postgres)
>>>>> EclipseLink - 10.5
>>>>> Hibernate -  9.1
>>>>> OpenJPA - 6.5
>>>>> DataNucleus - 6.0
>>>>>
>>>>> *Issues with OpenJPA.*
>>>>> 1. Spring dropped support back in 2017 and requests to resume support
>>>>> was declined earlier this year
>>>>> https://github.com/spring-projects/spring-framework/issues/20584.
>>>>> There is no guarantee when it will be back in newer versions of Spring.
>>>>> Spring 5 for instance no longer includes the OpenJpaVendorAdaptor.
>>>>> Therefore, future upgrade of Fineract CN will become an issue.
>>>>>
>>>>> 2. OpenJPA has been lagging behind - the stable version for spring
>>>>> supports up to JDK 1.6 (although v3.0.0+ is working to resolve this 
>>>>> issue).
>>>>>
>>>>> 3. Bugs and compatibility issues with other libraries. I have
>>>>> first-hand experience with it and it's not pleasant.
>>>>>
>>>>> *Why not DataNucleus?*
>>>>> It is not supported in Spring 4.x and its implementation will require
>>>>> us to completely heavily refactor the JPA Layer in Fineract CN on top of
>>>>> that, it's the slowest.
>>>>>
>>>>> Looking forward to your recommendations and your own evaluations.
>>>>> --
>>>>>
>>>>> *Regards*
>>>>>
>>>>

Reply via email to