使用Spring Data从实体id获取嵌入对象

时间:2015-05-17 08:21:24

标签: java hibernate jpa java-8 spring-data

我有一个实体Applicant,其中包含@Embedded Name个对象(firstNamelastName等)。我想通过使用Spring Data的申请人ID来获取数据库中的嵌入对象。

我试着这样:

public interface ApplicantRepository extends Repository<Applicant, UUID> {
    Optional<Name> findNameById(final UUID applicantId);
}

但它返回整个申请人实体而不仅仅是姓名。有没有选项可以用不同的方式命名函数来实现Spring Data?

1 个答案:

答案 0 :(得分:3)

您可以使用Spring-data中的Query Annotation来完成此操作。

    @Query("select applicant.name from Applicant applicant where applicant.id = :id")
    Optional<Name> findApplicantNameById(@Param("id") Integer id);