I have following classes and on annotating @BatchSize annotation it is not working and I am getting n+1 select query.
class Shipment{
@OneToMany(fetch = FetchType.LAZY, mappedBy = order.shipment, cascade = CascadeType.ALL,
orphanRemoval = true)
@BatchSize(size=20)
Set<Orders> orders = new HashSet(); <---- Batch size annotation not working
}
Order.class
class Order{
@ToString.Exclude
@ManyToOne(fetch = FetchType.LAZY , optional = false)
@JoinColumn(name = "item_fk")
@LazyToOne(value = LazyToOneOption.NO_PROXY)
Item item;
@ToString.Exclude
@ManyToOne(fetch = FetchType.LAZY , optional = false)
@JoinColumn(name = "shipment_fk")
@LazyToOne(value = LazyToOneOption.NO_PROXY)
Shipment shipment;
}
Item.class
class Item{
String id;
String name;
}
What is mistake in implementation that i am getting n+1 queries?