Если у вас есть две сущности, например Student и Group. У Student есть геттер getGroupId.
Как вы обычно пишете DAO? Получаете обьекты без связей с другими, или Student всегда достает из базы еще и группу, что удобно делать одним SQL запросом. Это более быстро работает на базе, чем потом при потребности дергать еще один select, но вызает более громоздкие обьекты. Это важно если потом этот DAO будут вызывать удаленно, так как при этом будет передаваться много ненужной информации.
Попрошу оставить JPA за рамками этого обсуждения