JPA 查询等于两个属性之间 [英] JPA query equals between two properties
本文介绍了JPA 查询等于两个属性之间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以使用 JPA 自定义查询来比较两个属性?
It is possible to compare two properties with JPA custom query ?
注册.java:
@Entity
public class Registration implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
private UUID uuid;
@ManyToOne(targetEntity=Entry.class)
private Entry entry;
@ManyToMany(targetEntity=Rate.class,fetch = FetchType.EAGER)
private List<Rate> rate;
@ManyToMany(fetch = FetchType.EAGER)
private List<Planning> planning;
}
Rate.java :
Rate.java :
@Entity
public class Rate implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
private UUID uuid;
@ManyToOne
private Activity activity;
}
规划.java :
@Entity
public class Planning implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
private UUID uuid;
@OneToOne
private Location location;
@OneToOne(fetch = FetchType.EAGER)
private Coach coach;
@OneToOne
private Activity activity;
我只会检索 rate.activity.id =planning.activity.id 类似的东西:
I would retrieve only rate.activity.id = planning.activity.id with something like :
public interface RegistrationDao extends CrudRepository<Registration, UUID> {
findByPlanningAndRateActivityEqualsPlanningActivityOrderByEntryLastnameAsc(Planning planning);
}
谢谢
推荐答案
与其使用很长的方法名称,不如使用 JPA 查询,它会是这样的.希望这会有所帮助.
Rather than having a long method name you can have a JPA Query it will be something like this. Hope this helps.
@Query("select * FROM Registration REG,Entry E, Rate R,Planning P WHERE REG.id = :id and R.activity=P.activity ORDER BY E.lastname")
public List<Registration> <MethodName>(@Param("id") String registrationid);
这篇关于JPA 查询等于两个属性之间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文