나는 다음과 같은 기업이 : 이제내 엔티티에서로드가 매우 느립니 뭐가 잘못 되었나요?
@Entity
@Table(name="\"Order\"")
public class Order {
@Id
@SequenceGenerator(name="order_id_seq",
sequenceName="order_id_seq",
allocationSize=1)
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator="order_id_seq")
private long id;
@OneToOne
private Customer customerDetails;
@OneToOne
private ProductDetails productDetails;
@OneToOne
private TransportDetails transportDetails;
@OneToOne
private OtherDetails otherDetails;
@OneToOne
private OtherDetails otherDetails2;
@OneToOne
private OtherDetails3 otherDetails3;
private LocalDateTime dateOrderPlaced;
private LocalDateTime dateOrderPaid;
private Float totalPrice;
@Size(max = 1000)
private String orderComment;
}
을, 나는 다음과 같은 저장소 사용, 처음으로이 쿼리를 실행하고 때마다 : 그것은 다음을 실행하기 위해 약 5 초 정도 걸립니다
public interface OrderRepository extends CrudRepository<Order, Long> {
@Transactional
@Modifying
@Query("UPDATE Order o SET o.totalPrice = (:price) WHERE o.id= (:id)")
void updateTotalPrice(@Param("id") Long id, @Param("price") Float price);
@Override
List<Order> findAll();
@Override
Order save(@Valid Order order);
}
를 :
public List<OrderDto> getOrders(){
return orderDtoMapper.fromDomain(orderRepository.findAll());
}
장소 :
public List<OrderDto> fromDomain(List<Order> orders){
return orders
.stream()
.map(order -> fromDomain(order))
.collect(Collectors.toList());
}
public OrderDto fromDomain(Order order){
OrderDto orderDto = new OrderDto();
orderDto.setTransportDetails(transportDetailsDtoMapper.fromDomain(order.getTransportDetails()));
orderDto.setTotalPrice(order.getTotalPrice());
orderDto.setDateOrderPaid(order.getDateOrderPaid());
orderDto.setDateOrderPlaced(order.getDateOrderPlaced());
orderDto.setId(order.getId());
return orderDto;
}
참고
내 테이블에 단 3 개체가 ...
fromDomain()은 빠릅니다. 나는'orderRepository.findAll()'이 연결을 획득하는 데 시간이 걸린다 고 생각한다. –
@BorisShchegolev, 저는 실제로 단지 너무 오래 걸리는 것을 발견했습니다. 몇 가지 필드를 암호화하기 위해 몇 가지 @Convert() 주석을 사용했습니다. 전체 프로세스의 속도가 느려지는 곳입니다. – uksz
관심있는 사용자는 여기 있습니다. 후속 질문 : http://stackoverflow.com/questions/39972028/adding-convert-on-column-increases-execution-time – uksz