Честно говоря, я бы сказал, что между ними не было большой разницы, но вы всегда должны проверять, является ли сеанс нулевым, просто чтобы не вызывать еще одно исключение NullReferenceException.
К сожалению, это, вероятно, самый чистый способ сделать это в Java, поскольку нет такой вещи, как оператор «using», как в C #, который позволяет вам избавиться от объекта после завершения выполнения блока using.