Zmień relację z @OneToOne do @OneToMany i użyj fetch zamiast join , wykona tylko jedno zapytanie i miejmy nadzieję, że zadziała.
Join<Transaction, ResponseCode> join =
(Join<Transaction,ResponseCode>)transaction.fetch("rc",JoinType.LEFT);
i możesz spróbować z @OneToOne też.