У меня есть простой Entity GeneralUser ниже (необязательные поля опущены)
public class GeneralUser
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String fname;
@OneToMany(mappedBy = "fromGeneralUser", targetEntity = Friendship.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private Collection<Friendship> friendships;
}
Позвольте привести очень простой пример того, что я делаю:
GeneralUser user = generalUserService.find(id);
user.setFname("foo")
user = generalUserService.merge(user);
ПроблемаЯ сталкиваюсь с тем, что в спящем режиме, прежде чем пользователь слияния выполняет выбор из базы данных, который является более сложным, чем это должно быть.Более конкретно, выбор делает левое внешнее объединение с определенным выше отношением «дружеские отношения» (таблица) (отношение OneToMany).
Любой совет, чтобы избежать этого?
если я изменю это:
@OneToMany(mappedBy = "fromGeneralUser", targetEntity = Friendship.class, fetch = FetchType.LAZY, cascade = CascadeType.DELETE)
тогда все работает нормально, поэтому кажется, что каскад вызывает избыточное левое внешнее соединение.
какая-нибудь помощь?