JPA 查询等于两个属性之间 [英] JPA query equals between two properties

查看:30
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆