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

我正在尝试这样:

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


但它会返回整个申请人实体,而不仅仅是名称。是否有其他选项可以使用Spring Data以不同的方式命名函数?

最佳答案

您可以通过在Spring数据中使用查询注释来做到这一点。

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

关于java - 使用Spring Data通过实体ID从实体获取嵌入式对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30284829/

10-10 08:16