Eu fiz as duas abordagens que você mencionou e ambas são igualmente úteis. Dependendo de como sua arquitetura está configurada, há algumas condições que você pode considerar:
1.) Se você tiver menos de 7 ou 8 consultas nomeadas, consideraria colocá-las como constantes na mesma classe que os métodos de acesso a dados se e somente se as consultas nomeadas forem usadas nessa classe.
2.) Se você tiver mais de 8 consultas nomeadas ou tiver várias consultas nomeadas espalhadas em várias classes de entidade que você gostaria de armazenar em um único local, eu definitivamente as colocaria em uma classe separada como constantes. / p>
Certifique-se de colocar suas classes de consulta nomeadas o mais próximo possível das suas classes de entidade.