A priori, déjà, le generated="insert" n'est pas bon. Il indique à Hibernate qu'il devrait rafraîchir l'objet après une insertion. Ce serait le cas si tu configurais la base pour effectuer cette opération par un trigger à l'insertion par exemple. Ici, ça n'a rien à voir : Hibernate va faire le select indiqué dans ton formula et positionner lui-même la valeur, donc pas de generated à utiliser. cf.
http://www.hibernate.org/hib_docs/v3/re ... -generated
Mais bon, je ne suis pas sûr que cela résolve ton problème complètement. Tu as vérifié que la taille de ta sequence allait dans un Long ?