Java 涉及外键的JPA自定义查询
我想做一个JPA查询来计算有多少记录具有特定的外键 实体:Java 涉及外键的JPA自定义查询,java,jpa,Java,Jpa,我想做一个JPA查询来计算有多少记录具有特定的外键 实体: @Entity(name = "person") @Inheritance(strategy = InheritanceType.JOINED) public class Person { @Id private Long id; private String firstName; private String lastName; private String phoneNumber; @OneToMany(f
@Entity(name = "person")
@Inheritance(strategy = InheritanceType.JOINED)
public class Person {
@Id
private Long id;
private String firstName;
private String lastName;
private String phoneNumber;
@OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
@JoinColumn(name = "ADRESS_FK")
private ADDRESS address;
}
@Entity(name = "address")
public class Address {
@Id
private Long id;
private String country;
private String city;
private String street;
private String number;
}
这就是我正在尝试的,这在JPA中会是什么样子
public Long getOccurences( Long id ) {
Query query = _entityManager.createQuery( "Select count(*) from Persons p where p.address = ?1" );
query.setParameter( 1, id );
return query.getSingleResult() );
}您是否尝试了
其中p.address.id=?1
?我想它应该可以工作。我也会这么想,而且你可能还想使用COUNT(p)
而不是*
.public Long getoccurrences(Long id){Query Query Query=\entityManager.createQuery(“Select*from Persons p其中p.address=?”);Query.setParameter(1,id);return Query.getResultList().size();