I investigated this, and it seems to be a hibernate issue on BIGINT columns that are also identities. see 
http://stackoverflow.com/questions/18758347/hibernate-returns-bigintegers-instead-of-longs
http://jadimeo.wordpress.com/2009/09/05/sql-bigint-identity-columns-with-hibernate-annotations/
There are 2 proposed solutions:
-use Integer instead of Long
-implement our own IdentityGenerator and use it in this column.
I don't like either, and until we have a decision, i will leave this hack with some extra comments