How to pass an object as parameter to a method in jpa repository,where that method have to fetch the records in the database based on the object value

Viewed 25

For eg,i have a reqmsg object having fields name and email.from postman I'm passing Email value inside object .this object is passed as parameter to a method in repository,for eg

@Query(SELECT* FROM Table WHERE email= reqmsg.getEmail)
List <Person> findPersonBySearchValue(@Param "reqmsg"RequestMsg reqmsg);

Is this the correct way?

1 Answers

Correct way would be to pass the search fields individually as parameters. Also in JPQL the queries reference entities not tables

@Query(SELECT p FROM Person p WHERE p.email = :email)
List <Person> findPersonByEmail(@Param("email") String email);

@Query(SELECT p FROM Person p WHERE p.name = :name)
List <Person> findPersonByName(@Param("name") String name);
Related