```data class Employee( val name: String, ...
# graphql-kotlin
b
Copy code
data class Employee(
    val name: String,
    @GraphQLIgnore
    val companyId: Int
) {
    fun company(dfe: DataFetchingEnvironment) : CompletableFuture<Company> =
        dfe.load(companyId)


}

data class Company(val id: Int, val name: String)


inline fun <Key, reified Value> DataFetchingEnvironment.load(key:Key): CompletableFuture<Value> {
      val loaderName = "${Value::class.java.simpleName.toLowerCase()}Loader"
      return this.getDataLoader<Key, Value>(loaderName).load(key)
}
Instead of using a lateinit property for the company link