Replying to @TomHombergs
And I struggle to think of a clean line where you can actually separate those concerns. How are they different? How is the relational model not just your domain model? What would be some specific examples of where such a mess is inevitable?
2
4
It already starts with an applications usually joining the same set of tables at runtime to provide answers to business question. Separate tables provide alleged flexibility that is not only mostly not needed but imposes nothing but technical complexity.
1
2
Write a view for those joins. Or better. Write a function that composes your jOOQ joins dynamically for greater re-use.
2
If I can create an Order class that holds a list of LineItems and I can impose a minimum order amount rule over that list, I can write a unit test for that that needs nothing but Java and a ms to execute. Why should I complicate that?
1
Well, are you going to store it or not? If not, as you so eloquently put: en.wikipedia.org/wiki/Straw_…
1
1
Yes. But thats my point: why would you conflate the two? You argued separation of concerns yourself, didn’t you? You asked for a reason why one’d not use the relation model as primary. One answer: because it’s simpler to use a different one, not tied to a storage technology.
2
2
Admittedly, you could argue it would be even better to specify everything in a meta language, e.g. some kind of DSL, so that you’re not tied to Java
2
Oh, oh, oh, I know a DSL just for that! CREATE TABLE ... πŸ˜‰
1
Why did I know you'd reply exactly that?
1
1
Because it is
1
GIF
I knew I could rely on you to make that point :)

Jan 28, 2021 Β· 12:28 PM UTC

1
1
Do you ever have this feeling that all of Twitter is generated by a Markov chain?