title: How to use @Transient with Micronaut Data and Kotlin properties that lack a backing field?
body: <p>I'm moving to Micronaut Data JDBC and Kotlin from Spring Data JDBC and Java, and have trouble with <code>@Transient</code> on a Kotlin property which does not have a backing field.</p>
  
  <p>Example code:</p>
  
  <pre><code>interface Foo {
      // @JvmDefault here had no effect on my problem
      // @Transient does not compile here
      val doodah: Boolean
          get() = /* some default implementation */
  }
  
  // Bar implements Foo for reasons unrelated to this question, part of an internal "microframework"
  @Entity
  @Introspected
  @Table(name = "bar")
  data class Bar(@Id var id: Long /* , more properties */) : Foo {
  }
  
  @JdbcRepository(dialect = POSTGRES)
  interface BarRepository : CrudRepository&lt;Bar, Long&gt; {
  }
  </code></pre>
  
  <p>At <em>runtime</em> I get a complaint from Postgres:</p>
  
  <pre><code>org.postgresql.util.PSQLException: ERROR: column child_record_.doodah does not exist
  </code></pre>
  
  <p>Hmmm, looks like Micronaut Data wants to serialize/deserialize the inherited property.  So I tried <code>@Transient</code> on the property, and compilation fails with:</p>
  
  <pre><code>This annotation is not applicable to target 'member property without backing field or delegate'
  </code></pre>
  
  <p>Suggestions on how to solve this?</p>