Как JPA находит все классы помеченный @Entity?
При конфигурировании Hibernate/JPA указывается список @Entity-классов, либо базовый пакет, относительно которого производится поиск классов, помеченных аннотацией @Entity. Для этого есть метод SomeClass.class.isAnnotationPresent().
PS: ИМХО, писать аналог JPA "в образовательных целях" - не лучшая идея.
Эмм...а что тут в подходе? Фрэймворк парсит ваши классы и натыкаясь на аннотацию @Entity добавляет класс в список Entity's проекта :)