Не показ комментариев в тесте кодирования для интервью похож на нахождение экзамена и не показ любой работы!
, Конечно, комментарии должны быть одним из понимания стратегии программистов и взглядов?
Ваша проблема не в вашем UserType, а в том, что вы объявили свое свойство как ненулевое (используя @Basic optional = "false") и тем не менее, вы устанавливаете для него значение null.
Тем не менее, я был бы осторожен, возвращая исходное значение в методах deepCopy / assembly / disassemble. java.util.Date является изменяемым, и вы можете просить о проблемах там.
Эти нюансы довольно хорошо обсуждаются здесь: http://blog.xebia.com/2009/11/09/understanding-and-Anding-ibernate-user-types/