anchor.diff:  
   `ObjectId` can be difficult to use if you want to expose its value in your REST service.
   So we created JSON-B and Jackson providers to serialize/deserialize them as a `String` which are automatically registered if your project depends on either the RESTEasy JSON-B extension or the RESTEasy Jackson extension.
  +
  +[IMPORTANT]
  +====
  +If you use the standard `ObjectId` ID type, don't forget to retrieve your entity by creating a new `ObjectId` when the identifier comes from a path parameter. For example:
  +
  +[source,java]
  +----
  +@GET
  +@Path("/{id}")
  +public Person findById(@PathParam("id") String id) {
  +    return Person.findById(new ObjectId(id));
  +}
  +----
  +====
   
   == Working with Kotlin Data classes
   
  
positive.code: 
  IDs are often a touchy subject. In MongoDB, they are usually auto-generated by the database with an `ObjectId` type.
  In MongoDB with Panache the ID are defined by a field named `id` of the `org.bson.types.ObjectId` type,
  but if you want ot customize them, once again we have you covered.
  
  You can specify your own ID strategy by extending `PanacheMongoEntityBase` instead of `PanacheMongoEntity`. Then
  you just declare whatever ID you want as a public field by annotating it by `@BsonId`:
  
negative.code: person.birth = LocalDate.of(1910, Month.FEBRUARY, 1);
  person.status = Status.Alive;
  
  // persist it: if you keep the default ObjectId ID field, it will be populated by the MongoDB driver
  person.persist();
  
  person.status = Status.Dead;
  