Если на десктопе не нужно изменение данных в реальном времени, то можно использовать обычные http-запросы к серверу - Rest + Json. Легче заниматься отладкой, повод посмотреть в сторону Spring и Hibernate.
Со стороны клиента - во время учёбы писал на JFX клиентское приложение, которое получало данные с сервера в JSON.
Код, конечно, ужасен, за такое кочергой по лицу бьют, но сам механизм отправки запроса можно посмотреть :)
Код сервера не сохранился, боюсь.
Описание сущностей (Entities) лучше выносить в отдельный модуль, а не дублировать для клиента и сервера.