I am new to stackoverflow, so apologies if this is incorrect.
Have you considered changing
<property name="hibernate.hbm2ddl.auto" value="update"/>
into
<property name="hibernate.hbm2ddl.auto" value="create"/>
to see if this sets it up first time round? I always use create and then comment it out, as otherwise it will recreate it every time, but seems to work for me.