Los tipos primitivos no son nulos por defecto. Haz que el precio sea doble y esto resolverá el problema ya que entonces será anulable. Además, puede agregar un captador personalizado para evitar que el precio sea un objeto nulo.
public double getPrice(){
if(this.price == null) return 0.0;
return this.price;
}
@Ingore le dice a Room que ignore el campo por completo, que no es lo que desea, según su respuesta.