我正在开发一个应用程序,允许管理公司中的候选人,为此我使用 spring-boot,为了选择掌握这种技术(Techno)的员工,我使用了请求JPQL。
那么,如何通过技术找到候选人呢?
在我的项目中我使用了这段代码:
1 - 类candidat.java
@Entity
public class Candidat {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "candidat_id")
private int id;
private String nom;
private String prenom;
private String ville;
private int numTel;
private String mail;
private String pseudo;
private String roleCible;
private String typeContrat;
private String villeRecherchee;
@OneToMany(mappedBy="candidat")
private List<Techno> techno;
@Temporal(TemporalType.DATE)
private Date date;
@OneToMany
private List<SecteurActivites> secteurActivites;
public Candidat() {
// TODO Auto-generated constructor stub
}
2-Techno.java类
@Entity
public class Techno {
@Id
@GeneratedValue
@Column(name = "techno_id")
private int id ;
private String nomTechno;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "candidat_id", nullable = false)
@OnDelete(action = OnDeleteAction.CASCADE)
@JsonIgnore
private Candidat candidat;
public Techno() {
// TODO Auto-generated constructor stub
}
/**
* @param nomTechno
* @param candidat
*/
public Techno(String nomTechno, Candidat candidat) {
super();
this.nomTechno = nomTechno;
this.candidat = candidat;
}
3-我的候选人控制器
@GetMapping(value = "/GetAllCandidats/{nomTechno}")
public List<Candidat> afficherCandidat(@PathVariable ("nomTechno") String nomTechno){
return candidatdao.findByTechno(nomTechno);
}
4-存储库:
@Repository
public interface CandidatDao extends JpaRepository <Candidat, String>{
List<Candidat> findByDate(Date date);
@Query("SELECT DISTINCT e FROM Candidat e INNER JOIN e.Techno t")
List<Candidat> findByTechno(String nomTechno);
}
天涯尽头无女友
侃侃尔雅
相关分类