Вам нужно серверное приложение, которое будет предоставлять удалённым клиентам доступ к БД, но не напрямую, а через себя путём общения с клиентами по http с помощью REST (проще) или SOAP. Т.е. клиенты отправляют запросы и получают от сервера ответы. Сервер располагается (задеплоен) на удалённой машине в каком-нибудь облаке или куда вы его задеплоите. Там же рядышком будет БД, про которую будет знать только ваше серверное приложение, но не ваши клиенты. Клиенты знают только про приложение, вернее куда стучать, что отправлять и что ожидать в ответ.
Гуглить в сторону Spring Boot, Spring Data. Также скорее всего понадобится механизм аутентификации и авторизации, если вы хотите, чтобы с приложением могли работать только ваши клиенты. Тогда смотрим ещё и в сторону Spring Security.
Сначала почитайте про http, потом про REST. Если вам просто дёргать базу, то есть супер-простое решение - Spring Data Rest, которое сгенерит за вас все запросы и даже апи. Вам будет необходимо только сущности описать (почитайте про JPA и её аннотации) и объявить интерфейсы репозиториев и немного обвязки-настроек в properties прописать.
Вот наглядный простой пример:
spring-projects.ru/guides/accessing-data-rest . Там есть исходники на гитхабе, возьмите их, потыкайте, перепишите под себя.
Когда будет готов сервер, то остаётся научить ваше десктопное приложение дёргать по http апишку вашего сервера - отправлять запросы и обрабатывать ответы. С десктопными приложениями не работал, но гугл вам легко подскажет какую-нибудь библиотеку http-клиента - okhttp какой-нибудь.