【问题标题】:Spring data, get entity from list with unidirectionalSpring数据,从单向列表中获取实体
【发布时间】:2018-02-01 15:34:02
【问题描述】:

我有

@Entity
public class Person{
    ...

    @OneToMany
    @JoinColumn(name = "person_id")
    private List<Email> emailList = new ArrayList<>();       

    ...
}

@Entity
public class Email{
    ...

    private String emailAddress;

    ...
}

我需要通过 emailAddress 获取 Person。我看到了这个答案:dont like。 但我想知道 - 我可以只使用 spring 数据来执行此操作吗,我的意思是 - 无需查询。

【问题讨论】:

  • 你的意思是,不用@Query装饰你的方法?
  • 使用具有简单方法名称的自描述 JPQL 查询有什么问题?检查 Cepr0s asnwer,我更喜欢 @Query 的第二种方法。

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


【解决方案1】:

这应该可行:

Person findPersonByEmailList_EmailAddress(String email);

还有这个:

@Query("select p from Person p join p.emailList l where l.emailAddress = ?1")
Person getPersonByEmail(String email);

【讨论】:

    最近更新 更多