May 08, 2018
On Tuesday, 8 May 2018 at 07:28:31 UTC, Vadim Lopatin wrote:
> On Monday, 7 May 2018 at 17:27:17 UTC, Jesse Phillips wrote:
>> You should get a hold of Vadim Lopatin and see if he would give you commit rights to the main repo.
>>
>> There was a great article I can't find by someone who would add contributors if they made good pull requests. It helped to keep his work living on and didn't need to keep involved.
>>
>> So I push for people to follow this model (remove contributors if it isn't working out.
>
> Guys, if you want to get permissions for pushing to buggins/ddbc and buggins/hibernated, please send me you github id to coolreader.org@gmail.com

I've just sent you a mail :)
May 23, 2018
On Monday, 7 May 2018 at 18:10:14 UTC, Matthias Klumpp wrote:
> On Saturday, 5 May 2018 at 09:32:32 UTC, Brian wrote:
>> On Thursday, 3 May 2018 at 10:27:47 UTC, Pasqui23 wrote:
>>> Last commit on https://github.com/buggins/hibernated
>>> was almost a year ago
>>>
>>> So what is the status of HibernateD?Should I use it if I need an ORM? Or would I risk unpatched security risks?
>>
>> You can use Entity & Database library:
>>
>> https://github.com/huntlabs/entity
>> https://github.com/huntlabs/database
>
> I've tried both a while back, and they are still inferior to Hibernated (no surprise there, both projects are very new). [...]

I've looked at this again today, end Entity now seems to have OneToMany/ManyToMany relations (for 18 days), which is great news!
I might need to play with this a little again. In any case, if I do port my D code to another ORM, I want the next port to be the last time I ever do that, because it's a lot of work with quite some risk of breakage.

It's also really sad that the existing ORMs don't share a common database abstraction library, but well, different people do things differently.

In any case, many thanks to Vadim Lopatin for merging the existing PRs into ddbc and Hibernated for now! That makes life easier already :-)

June 24, 2018
On Thursday, 3 May 2018 at 10:27:47 UTC, Pasqui23 wrote:
> Last commit on https://github.com/buggins/hibernated
> was almost a year ago
>
> So what is the status of HibernateD?Should I use it if I need an ORM? Or would I risk unpatched security risks?

Okay... wall of text.
TLDR: project definition / future of HibernateD?; prospects of an OGM layer integration (personally interested in Neo4j)?


I've been thinking of trying to implement an OGM (Object-graph mapping; i.e. NoSQL) for Neo4j in D as I'd love using it for a project of mine. The question is, whether it should be a separate project or whether something like this could be integrated with HibernateD.

I've taken a look at Hibernate ORM and OGM. There OGM is a separate project leveraging a lot of ORMs capabilities.

I'm still in the process of diving deeper into Hibernate's ORM/OGM documentation(/implementation) to get an idea of how it all works. I'm not particularly experienced with it.

One question that arises in respect to HibernateD is:
What is the purpose of HibernateD? The README states "HibernateD is ORM for D language (similar to Hibernate)". I guess there are two Extremes:

A. Replicate the structure of Hibernate into D, in a way porting it 1:1,

B. Implement an ORM from scratch.

Both approaches would be impractical for the following reasons:

contra A. An exact replica would leave no room for optimizations or creating a more D-idiomatic library,

contra B. Creating a completely new solution and interface would miss out on leveraging what Hibernate already "knows". Further, Hibernate users might love seeing a familiar interface they can work with. Option B wouldn't deserve the name "HibernateD"..

This solely highlights that the project's purpose/description might need some more explanation.

A small look into the code reveals that the approach leans towards implementing the component structure of Hibernate (such as dialects, a Hibernate(D) basic type system, ...).

I'd guess this would be the most practical approach:

Leverage Hibernate's insights into what components are required to implement an ORM(/OGM) (Dialects, Hibernate(D) types, annotations, Persistence Strategies, ...) and find D-idiomatic ways for implementation. Any space for optimization should naturally be capitalized on.

A complete 1:1 replica does not seem practical as for example I've stumbled across the "@Immutable" annotation in the Hibernate documentation. As there is the "immutable" qualifier in D, through introspection, this quality could be deduced from entities/members. This leads to thinking that solutions tailored towards D need to be found and therefore deviation from Hibernate sounds reasonable.


I am in no way an expert in ORMs (I just started reading Hibernate's ORM documentation) and I have no idea what other ORMs are out there (D or non-D). However, Hibernate seems quite popular (and it offers a Neo4j OGM interface) and the fact that it exists for D (at least in a "starting positition") caught my attention.

What do you think? Especially bauss, Matthias and singingbush, as you seem motivated to move the project forward. Maybe Vadim also has a standpoint : ).


1 2 3
Next ›   Last »