Of course it is possible. You have described the mapping in a config file.
Example :
$review = ReviewQuery::create()
->joinWith('Review.Book')
->joinWith('Book.Author')
->joinWith('Book.Publisher')
->findOne();
$book = $review->getBook()
$author = $book->getAuthor();
$publisher = $book->getPublisher();