Java Spring数据,从列表中以单向方式获取实体

Java Spring数据,从列表中以单向方式获取实体,java,spring,hibernate,spring-data-jpa,psql,Java,Spring,Hibernate,Spring Data Jpa,Psql,我有 @实体 公共阶层人士{ ... @独身癖 @JoinColumn(name=“person\u id”) private List emailList=new ArrayList(); ... } @实体 公共类电子邮件{ ... 私有字符串电子邮件地址; ... } 我需要通过电子邮件地址找到此人。我看到了这个答案:。 但我想知道——我的意思是,我可以只使用spring数据而不进行查询吗。这应该可以: @Entity public class Person{ ...

我有

@实体
公共阶层人士{
...
@独身癖
@JoinColumn(name=“person\u id”)
private List emailList=new ArrayList();
...
}
@实体
公共类电子邮件{
...
私有字符串电子邮件地址;
...
}
我需要通过电子邮件地址找到此人。我看到了这个答案:。 但我想知道——我的意思是,我可以只使用spring数据而不进行查询吗。

这应该可以:

@Entity
public class Person{
    ...

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

    ...
}

@Entity
public class Email{
    ...

    private String emailAddress;

    ...
}
这也是:

Person findPersonByEmailList_EmailAddress(String email);

您的意思是,如果不使用
@Query
修饰您的方法,那么使用具有简单方法名称的自描述性JPQL查询有什么问题?检查Cepr0s asnwer,我更喜欢使用@Query的第二种方法。
@Query("select p from Person p join p.emailList l where l.emailAddress = ?1")
Person getPersonByEmail(String email);