title: Is it possible to force morphia to map the ObjectId to the hex representation?
body: <p>I am currently working on a kotlin multi project solution. 
  I have one project defining some data classes and defining an api to access a mongodb. The objectId is created automatically. This project is using morphia:1.3.2.
  Entries are stored using this function:</p>
  
  <pre><code>fun store(myClass: MyClass) = db.save(myClass).let { myClass.id?.toHexString() ?: "0" }
  </code></pre>
  
  <p>Now I'm using this project in a spring-boot kotlin project.
  I created a small web page with some filters. These filters should be applied on my query. So far so good, everything is working.</p>
  
  <p>The results of my query are returned via my Rest-controller without any conversions. In my web page I want to print the ObjectId foreach result.</p>
  
  <p>But the ObjectId is not a String as it used to be, it is an object. </p>
  
  <pre><code>id:
    counter:15304909
    date:"2018-08-27T23:45:35.000+0000"
    machineIdentifier:123456
    processIdentifier:1234
    time:1535413535000
    timeSecond:1535413535
    timestamp:1535413535
  </code></pre>
  
  <p>Is it possible to force morphia to return the objectId in the String representation? Or is there a on Option to activate the correct mapping? Or do I have to touch each result one by one and convert the object id to the hexadecimal string representation? I hope that there is a better, and quicker solution then this. </p>
  
  <p>I am also not able to remap the object to a valid id, due to an <code>java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986</code> exception. The request looks like this: </p>
  
  <pre><code>myClass?id={"timestamp":1535413631,"machineIdentifier":123456,"processIdentifier":1234,"counter":16576969,"time":1535413631000,"date":"2018-08-27T23:47:11.000+0000","timeSecond":1535413631}    
  </code></pre>
  
  <p>I'm a little bit out of ideas, how to fix this issue.</p>