title: How to use Room library's @Ignore annotation with Kotlin compact constructor syntax?
body: <p>I'm trying to use both the android Room library and Kotlin's compact syntax for specifying a constructor with default argument values. Something like this: </p>
  
  <pre><code>@Entity
  class MyEntity(var myString:String = "non-trivial string") {
  
      @PrimaryKey(autoGenerate = true)
      var myIndex:Int = 0
  }
  </code></pre>
  
  <p>But I get this warning message: </p>
  
  <blockquote>
    <p>There are multiple good constructors and Room will pick the no-arg constructor. You can use the @Ignore annotation to eliminate unwanted constructors.</p>
  </blockquote>
  
  <p>Where does the syntax allow Room's @Ignore annotation to be written with this compact Kotlin style of constructor?</p>
  
  <p>I know that I can do something like this to eliminate that warning message, but it's more verbose. It also makes the constructor arg default value seem redundant/unhelpful: </p>
  
  <pre><code>@Entity
  class MyEntity() {
  
      @Ignore
      constructor(myString:String = "non-trivial string") : this() {
          this.myString = myString
      }
  
      @PrimaryKey(autoGenerate = true)
      var myIndex:Int = 0
  
      var myString:String? = null
  }
  </code></pre>
  
  <p>How can I declare a Room entity but still take advantage of Kotlin's brevity? </p>
  
  <p>Thank you kindly.</p>