BAEL-7692 added case for ResultDTO_wo_Ids.java
This commit is contained in:
parent
35bdac1c59
commit
fbef22d79d
|
@ -0,0 +1,66 @@
|
||||||
|
package com.baeldung.spring.data.jpa.joinquery.DTO;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.IdClass;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
//@Entity
|
||||||
|
//@IdClass(DTO.class)
|
||||||
|
public class ResultDTO_wo_Ids {
|
||||||
|
public ResultDTO_wo_Ids(String customerName, String customerEmail, LocalDate orderDate, String productName, Double productPrice) {
|
||||||
|
this.customerName = customerName;
|
||||||
|
this.customerEmail = customerEmail;
|
||||||
|
this.orderDate = orderDate;
|
||||||
|
this.productName = productName;
|
||||||
|
this.productPrice = productPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String customerName;
|
||||||
|
private String customerEmail;
|
||||||
|
private LocalDate orderDate;
|
||||||
|
private String productName;
|
||||||
|
private Double productPrice;
|
||||||
|
|
||||||
|
public String getCustomerName() {
|
||||||
|
return customerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustomerName(String customerName) {
|
||||||
|
this.customerName = customerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCustomerEmail() {
|
||||||
|
return customerEmail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustomerEmail(String customerEmail) {
|
||||||
|
this.customerEmail = customerEmail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getOrderDate() {
|
||||||
|
return orderDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderDate(LocalDate orderDate) {
|
||||||
|
this.orderDate = orderDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProductName() {
|
||||||
|
return productName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProductName(String productName) {
|
||||||
|
this.productName = productName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getProductPrice() {
|
||||||
|
return productPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProductPrice(Double productPrice) {
|
||||||
|
this.productPrice = productPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package com.baeldung.spring.data.jpa.joinquery.repositories;
|
package com.baeldung.spring.data.jpa.joinquery.repositories;
|
||||||
|
|
||||||
import com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO;
|
import com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO;
|
||||||
|
import com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO_wo_Ids;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.data.repository.CrudRepository;
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
@ -16,6 +17,13 @@ public interface JoinRepository extends CrudRepository<ResultDTO, Long> {
|
||||||
+ " and c.id=?1 ")
|
+ " and c.id=?1 ")
|
||||||
List<ResultDTO> findResultDTOByCustomer(Long id);
|
List<ResultDTO> findResultDTOByCustomer(Long id);
|
||||||
|
|
||||||
|
@Query(value = "SELECT new com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO_wo_Ids(c.name, c.email, o.orderDate, p.productName, p.price) "
|
||||||
|
+ " from Customer c, CustomerOrder o ,Product p "
|
||||||
|
+ " where c.id=o.customer.id "
|
||||||
|
+ " and o.id=p.customerOrder.id "
|
||||||
|
+ " and c.id=?1 ")
|
||||||
|
List<ResultDTO_wo_Ids> findResultDTOByCustomerWithoutIds(Long id);
|
||||||
|
|
||||||
@Query(value = "SELECT c.*, o.*, p.* "
|
@Query(value = "SELECT c.*, o.*, p.* "
|
||||||
+ " from Customer c, CustomerOrder o ,Product p "
|
+ " from Customer c, CustomerOrder o ,Product p "
|
||||||
+ " where c.id=o.customer_id "
|
+ " where c.id=o.customer_id "
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.baeldung.spring.data.jpa.joinquery;
|
package com.baeldung.spring.data.jpa.joinquery;
|
||||||
|
|
||||||
|
import com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO_wo_Ids;
|
||||||
import com.baeldung.spring.data.jpa.joinquery.entities.Customer;
|
import com.baeldung.spring.data.jpa.joinquery.entities.Customer;
|
||||||
import com.baeldung.spring.data.jpa.joinquery.entities.CustomerOrder;
|
import com.baeldung.spring.data.jpa.joinquery.entities.CustomerOrder;
|
||||||
import com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO;
|
import com.baeldung.spring.data.jpa.joinquery.DTO.ResultDTO;
|
||||||
|
@ -90,6 +91,13 @@ class JoinRepositoryTest {
|
||||||
assertEquals(9, map.keySet().size());
|
assertEquals(9, map.keySet().size());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenFindResultDTOByCustomerWithoutIds_thenReturnResultDTO() {
|
||||||
|
List<ResultDTO_wo_Ids> resultDTO = joinRepository.findResultDTOByCustomerWithoutIds(1L);
|
||||||
|
assertInstanceOf(ResultDTO_wo_Ids.class, resultDTO.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
private EntityTransaction getTransaction() {
|
private EntityTransaction getTransaction() {
|
||||||
EntityTransaction transaction = entityManager.getTransaction();
|
EntityTransaction transaction = entityManager.getTransaction();
|
||||||
transaction.begin();
|
transaction.begin();
|
||||||
|
|
Loading…
Reference in New Issue