No, you don't have to.
In theory, Optional<>s can be null but shouldn't be as the empty value would make more sense.
Returning a null Optional<> value is just bad API design.
Spring JPA uses Optional instead of null, just like it should do so you can skip the additional null check.
Also, using Optional#ifPresent indicates that you are using Optional incorrectly. You may want to use the other methods of Optional instead.
If you need to execute something if the Optional has a value, you can use the method Optional#ifPresent:
someOptional.ifPresent(value->doSomething(value));
This might not seem like a big advantage but it works well with other methods like Optional#map:
someOptional.map(value->value.getSomething()).ifPresent(value->doSomething(value))
Optional#map transforms the object in the Optional using the passed lambda expression.
Optional#filter replaces tte object in the Optional with null (empty Optional) if the object doesn't match the passed condition.
Optionalobject is working hard to miss the point. And if you need to be that defensive in your code, then life is really hard. "No" should be the answer.optionalEntityfor null. If it ever crashes becauseoptionalEntityisnulltrack down whoever returnnullfor anOptionaland give them a good slap.