>From my experience with the migrations work, I found the code-base pretty workable. There are definitely some parts that are over-engineered such as the existing ddl generation code. It took me about a week to understand the whole mess around how Foreign/Unique keys generate their ddl.
One major hindrance was brittle unit tests. I ran into numerous situations where such tests didn't account for quoting or used incorrect assertions such as a regex rather than string match. On Wednesday, October 22, 2014 4:26:40 PM UTC-4, Gunnar Liljas wrote: > > Ok, fair enough. I didn't realize that. However, I'm afraid that the > "mess" not only causes bugs and performance problems, but that it's also > preventing NH from evolving and taking advantage of new developments in > .NET and C#. > > The redesign of the Loaders is interesting, since it was primarily that > part that caused this week's headache. I do see a large focus on Hibernate > OGM now though (and Hibernate changes made because of it), and I'm just not > sure that the OGM part is viable effort. > > /G > > 2014-10-22 20:49 GMT+02:00 Oskar Berggren <[email protected] > <javascript:>>: > >> I often get the same feeling. But yes, we do port bug fixes from >> Hibernate which helps a lot. There are also features to port, but it hasn't >> been tracked systematically in recent years. >> >> One thing that's happened in Hibernate is a redesign of the Loaders (it's >> been committed, background is here: >> https://github.com/hibernate/hibernate-orm/wiki/Proposal---Loader-redesign). >> I haven't looked at it in detail, but probably we should port it. >> >> /Oskar >> >> >> 2014-10-22 14:21 GMT+02:00 Gunnar Liljas <[email protected] >> <javascript:>>: >> >>> Ok, interesting! I didn't realize that the Java version was still >>> important for bug fixing. Maybe bugs caused by said complexity... >>> >>> >>> /Gunnar >>> >>> 2014-10-22 10:52 GMT+02:00 Ricardo Peres <[email protected] <javascript:> >>> >: >>> >>>> Hi, Gunnar! >>>> >>>> Yes, I feel exactly the same! Just as an example, there are lots of >>>> structures for representing an entity or a property's metadata. >>>> Not entirely related, but maybe this "overengineering" is responsible >>>> for some slowness, that is often reported (mostly by non-NHibernate users, >>>> it's true). >>>> However, I think that a major refactoring is not likely to happen, >>>> precisely because of Hibernate. We are constantly looking to the Java >>>> version for fixes to bugs that show up. >>>> My 5 cents! :-) >>>> >>>> RP >>>> >>>> >>>> On Tuesday, October 21, 2014 10:37:13 PM UTC+1, Gunnar Liljas wrote: >>>>> >>>>> When researching bug fixes and enhancements, I'm often struck by the >>>>> enormous complexity of the NHibernate code base. It's a complex and very >>>>> malleable product, so a high degree of complexity should be expected, but >>>>> sometimes when following a query from start to end in the step debugger I >>>>> just want to scream "are you frelling kidding me?!". >>>>> >>>>> Of course there's a certain amount of "this shouldn't be so hard" >>>>> followed by "Ah, OK, I didn't think of that. It is hard.", but some/many >>>>> parts of the code base feels like it has been mended a few times too many. >>>>> >>>>> My question to you, fellow developers, is: >>>>> >>>>> 1. How do you feel about this? >>>>> 2. If massive refactoring is a way forward it would likely result in a >>>>> deviation from the Java Hibernate relationship. How do you feel about >>>>> that? >>>>> >>>>> >>>>> Best regards >>>>> Gunnar >>>>> >>>>> >>>>> -- >>>> >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "nhibernate-development" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected] >>>> <javascript:>. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "nhibernate-development" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected] >>> <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nhibernate-development" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] >> <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "nhibernate-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
