Tentei utilizar a annotation @Version em um atributo do tipo Calendar, como dito no curso que é possível.
O problema é que ao fazer isso ao atualizar um produto, o dado não é salvo no banco de dados e a versão corrente do produto fica vazia.
Segue o código fonte da página antes e depois de uma atualização:
Antes:
<input type="hidden" name="versao" value="java.util.GregorianCalendar[time=1525654852000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Sao_Paulo",offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=4,WEEK_OF_YEAR=19,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR=126,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=0,SECOND=52,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=0]">
Depois:
<input type="hidden" name="versao" value="">
Também notei que a URL muda de http://localhost:8080/projeto-jpa-2/produto/4/form para http://localhost:8080/projeto-jpa-2/produto.
O principal é que dessa forma não é feita a atualização no banco.
Com Integer funcionou, como fazer funcionar com Calendar?