Тип Number в Javascript является реализация стандарта IEEE 754 для чисел с плавающей точкой. Это может привести к ошибкам, когда вы long из Java сериализуете в json, потому что в long можно записать 2^63 - 1 , а в Number только 2^53 без округления. Что приведет вот к таким интересным равенствам:

-> Math.pow(2, 54) == Math.pow(2, 54) + 1
<- true

В Javascript есть библиотеки для работы с большими числами. Еще можно конвертировать числа в строки, или использовать массивы чисел.

Обычно long используют для идентификаторов, integer не хватает, а long в самый раз. Возможно, лучшим выбором для идентификаторов будет GUID.