'How can I select column data of table from jpaRepository of another table using @Query annotation in spring Boot?

Note: I'm Using MYSQL also ,and I tried to links the tables in WorkBench but it didn't work

Here is my RealEsateCategory.java

@Entity
@Table(name = "realestatecategory")
public class RealEstateCategory {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "auction_ID")
    private int auctionID;
    @Column(name = "auction_Title")
    private String auctionTitle;
    @Column(name = "category_Name")
    private String categoryName;
    @Column(name = "subcategory_Name")
    private String subCategoryName;
    @Column(name = "type")
    private String type;
    @Column(name = "number_Of_Rooms")
    private int numberOfRooms;
    @Column(name = "number_Of_Bathrooms")
    private int numberOfBathrooms;
    @Column(name = "number_Of_Floor")
    private int numberOfFloor;
    @Column(name = "land_Area")
    private int landArea;
    @Column(name = "building_Area")
    private int buildingArea;
    @Column(name = "building_Age")
    private int buildingAge;
    @Column(name = "city")
    private String city;
    @Column(name = "image1_URL")
    private String image1URL;
    @Column(name = "image2_URL")
    private String image2URL;
    @Column(name = "image3_URL")
    private String image3URL;
    @Column(name = "image4_URL")
    private String image4URL;
    @Column(name = "image5_URL")
    private String image5URL;
    @Column(name = "minimum_Price")
    private double minimumPrice;
    @Column(name = "current_Price")
    private double currentPrice;
    @Column(name = "owner_Id")
    private int ownerId;

    @OneToOne
    @JoinColumn(name = "users_id")
    private Users users;

Users.java

@Entity
@Table(name = "users")
public class Users {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private int id;
    @Column(name = "namee")
    private String name;
    @Column(name = "username")
    private String username;
    @Column(name = "password")
    private String password;
    @Column(name = "email")
    private String email;
    @Column(name = "phone_Number")
    private int phoneNumber;

    @OneToOne(mappedBy = "users")
    private RealEstateCategory realEstateCategory;

RealEstateCategoryRepo.java

public interface RealEstateCategoryRepo extends JpaRepository<RealEstateCategory,Long> {


    @Query("select re from RealEstateCategory re where re.subCategoryName like %?1%"
            + "and re.type like %?2%"
            + "and re.city like %?3%"
            + "and re.numberOfRooms = ?4 "
            + "and re.numberOfBathrooms = ?5 "
            + "and re.numberOfFloor = ?6 "
            + "and re.landArea = ?7 "
            + "and re.buildingArea = ?8 "
            + "and re.buildingAge = ?9 "
    )
     List<RealEstateCategory> findAll(String subCategory,String type,String city,int noOfRoom,int noOfBathRoom,int noOfFloor,int landArea,int buildingArea,int buildingAge);

    @Query("select re from RealEstateCategory re where re.auctionID = ?1 ")
     List<RealEstateCategory> findAllDetails(int id);

    @Query("select re.users.name from RealEstateCategory re where re.auctionID = ?1 ")
    List<Users> findAllDetailsOwner(int id);
}

the Controller

    @RequestMapping("/RealEstateBiddingPage")
    public String getRealEstateBiddingPage(ModelMap modelMap, @RequestParam int auctionID){
        modelMap.put("auctionDetails",realEstateCategoryServ.getAuctionDetails(auctionID));
        modelMap.put("auctionDetailsOwner",realEstateCategoryServ.getAuctionOwner(auctionID));
        return "RealEstateBiddingPage";
    }

RealEstateCategoryServ.java

    public List<RealEstateCategory> getAuctionDetails(int id){
        return realEstateCategoryRepo.findAllDetails(id);
}
    public List<Users> getAuctionOwner(int id){
        return realEstateCategoryRepo.findAllDetailsOwner(id);
    }

so i'm trying to fetch the data in my Jsp page , the data that i have been retrieved from @Query("select re from RealEstateCategory re where re.auctionID = ?1 ") its work ,,, but the data of the other query that related to the other table it doesn't work..

so help!!!!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source