Как при вызове data класса проигнорировать поле,так чтобы по дефолту только бралось?
Выкинуть id из праймери конструктора data classа - так себе предложение. Теряется смысл data class'а. Если вашу ORM не устроит null как дефолтное значение для id в конструкторе, то дела плохи. У меня были подобного рода мучения. data classы не дружат с ORM. Удивительно, но факт.
Для того, чтобы творить непотребства с конструктором есть фактори функции.
Это не непотребства и фактори функции никак не избавляют от желания иметь определенные параметры (и id кажется должен быть там в первую очередь) в конструкторе data class'a Проблема имхо довольно фундаментальная. В k/js меня немного спасают undefined. Потому как null это легальное значение для БД (например, моя ОРМка автосгенерит id только если оно было undefined)