Два приложения (A и B) используют hibernate для извлечения одних и тех же объектов из базы данных. Следует ли создавать экземпляр DAO в каждом приложении или должно существовать отдельное приложение (C), которое содержит единственный экземпляр DAO и предоставляет службу (например, RMI) для использования A и B?
Если последний случай верен, то какова общая практика предотвращения исключений при загрузке? Я думаю, что в настоящее время я планирую использовать RMI и создать DTO для каждого объекта домена. Моя единственная оговорка в том, что сущности в A и B не смогут ссылаться на сущности в C. Является ли это общей стратегией?
Что-то, о чем стоит упомянуть, это то, что на каждом из 4 и 4 серверов A и B работают 4 разных сервера. В настоящее время на каждом сервере тоже есть БД - этот вопрос возник из-за того, что я пытаюсь что-то централизовать - либо у всех проектов есть DAO, указывающая на один сервер БД, или все приложения указывают на службу, размещенную на C, которая имеет DAO для одной БД.