private int hashToTable ( Long id , Entry [ ] table ) { int posVal = id . intValue ( ) & Integer . MAX_VALUE ; return ( posVal % table . length ) ; }
The Long Id is already effectively a hashcode for the Schema and should be unique . All we should need to do is get a positive integer version of it & divide by the table size .