Hello, I think the problem is that the metadata model in Java frameworks like JPA/Hibernate is basically incompatible with 3-layer domain models. Those...
Absolutely but to me thats a seperate issue, I'd suggest looking at Fowlers temporal patterns. ... all ... to ... record ... due ... probably ... that...
So when getting the pieces of the player you go through the role but when modifying/creating you go through the role? Seems very sensible. I do wonder what...
Person and Organization are both specializations of Party, so I've used a Role supertype named PartyRole, whose player instance variable was typed as Party....
I think to biggest problem is to use named queries. It sounds like the old problem of use SQL direct in your code. People says HQL is different, but what I see...
Hey, To that specific problem (of query language into the doman) I generally describe the query as an speciication and use an interface to model it. A...
You mean, an simple interface and put the query on the interface? Our domain would implemments this interface? Could you give some example? Thanks, Felipe...
And the query object would be used by domain objects like a repository? I'm not sure if it is a good approach when we have a lot of queries. We also would have...
On Dec 3, 2007 1:12 AM, Felipe Rodrigues de Almeida ... No, they would be handled like specifications. Repositories are still the same. ... You mean...
My question was if we must have as many interfaces for query objects as variants of queries. If we do, then it means a lot of interfaces and implementations....
Hi, On Dec 3, 2007 8:04 AM, Felipe Rodrigues de Almeida ... Yo don't have to. I thought you were xpliciting talking about qury objects, f the queries you're in...
I agree. In fact I feel some level of rough domain modeling must precede use case identification, because use case names are of the form Verb a Noun, where...
... I would use 1+n packages: the most important package contains your entities and the interfaces of your repositories. The other packages contain persistence...
... I have built an architecture in Java that ties the transaction/unit of work to the request. Requests for a service come in through a number of protocols...
1. In terms of packaging, I prefer to keep repository interfaces together with the model and repository implementation separate. Keeping repository interfaces...
i think that the Domain Model is not compromised with annotation, because it is only configuration, remove JPA and nothing will change in the model... not are...
Your repositories can be a place where you can add business rules associated with persistence. On our project, we use our repository to validate entities...
I agree with you that in a perfect world that works great, but it seems we have to choose our compromises. I dream of the day we have lightening fast...
Hi Christiano, When you say remove JPA, you mean remove even the annotations, not only the jar, because if you don't remove the annotations the class won't ...
Although I'd generally agree that this is the most pragmatic solution in Java I can't agree that it won't compromise domain with persistence information (this...
As the title asks: What to do when there's no apparent aggregate root? The user needs to be able to add/delete/update objects in a list. There's no aggregate...
Hi Hal, ... The problem I have with the DAO pattern as documented in Core J2EE Patterns is that it gave me a lot of cognitive dissonance as someone who had...
Hi Hal, ... The problem I have with the DAO pattern as documented in Core J2EE Patterns is that it gave me a lot of cognitive dissonance as someone who had...
For editing purposes, we treat each item as an aggregate, but for display purposes we use DTOs to view the items in a list fashion. I'd like to hear what other...
Hello fellow DDD'ers of New York! This is the reminder that the next meeting of DDD NYC Group will happen next Tuesday, December 11th from 7pm to 9pm+ at...
Right, but what I'm concerned with is where to put domain logic to handle the adding/removing of items from that list. For instance, there's some business...