As classes de domínio geralmente recebem anotações JPA ou JAXB ou ambas?

Eu tenho um aplicativo corporativo Java que fornece um serviço da Web, tem uma camada de domínio e uma camada de persistência de hibernação. Neste caso em particular, não há uma grande diferença (no momento) entre os objetos que envio pela rede, os objetos de domínio e os objetos de persistência.

Atualmente, o aplicativo usa DTO's no lado da persistência e anota as classes de domínio com anotações JAXB. No entanto, quanto mais eu leio e penso sobre isso, mais isso parece para trás! (Sem mencionar que há muito código para suportar o idiota entre os objetos DTO e Domínio.) Parece que a maioria dos arquitetos sugere colocar anotações de JPA no modelo de domínio e criar DTOs para enviar objetos pela rede.

No meu caso, eu poderia colocar as anotações JAXB e JPA (Hibernate) nas minhas classes de domínio?

O pensamento de manter minha fachada de serviço da Web, meu domínio e minha persistência, todos juntos, parece fácil de manter, mas me preocupa, já que eles podem precisar mudar no tempo. Mas seria mais inteligente criar um conjunto de classes DTO para o lado dos serviços da Web e ignorar as DTOs para o lado da persistência?

questionAnswers(5)

yourAnswerToTheQuestion