ラムダで指定できなくはないが、型パラメータが面倒臭いことになる
val query = select({ it.name }, from = ::_Emp) { e -> where { eq(e.id, 1) }}
import org.komapper.annotation.* | |
import org.komapper.core.dsl.expression.PropertyExpression | |
import org.komapper.core.dsl.expression.WhereDeclaration | |
import java.time.LocalDateTime | |
// EntityMetamodelのためのインタフェース | |
interface BiTemporal { | |
val validFrom: PropertyExpression<LocalDateTime, LocalDateTime> | |
val validTo: PropertyExpression<LocalDateTime, LocalDateTime> | |
} |
package org.komapper.quickstart | |
import org.komapper.annotation.* | |
import org.komapper.core.dsl.Meta | |
import org.komapper.core.dsl.QueryDsl | |
import org.komapper.core.dsl.expression.PropertyExpression | |
import org.komapper.core.dsl.expression.WhereDeclaration | |
import org.komapper.core.dsl.metamodel.EntityMetamodel | |
import org.komapper.jdbc.JdbcDatabase | |
import java.time.LocalDateTime |
package org.komapper.quickstart | |
import org.komapper.annotation.* | |
import org.komapper.core.dsl.Meta | |
import org.komapper.core.dsl.QueryDsl | |
import org.komapper.core.dsl.expression.PropertyExpression | |
import org.komapper.core.dsl.expression.WhereDeclaration | |
import org.komapper.jdbc.JdbcDatabase | |
import java.time.LocalDateTime |
@KomapperEntity | |
@KomapperTable("users") | |
data class User( | |
@KomapperId | |
val id: String, | |
val name: String, | |
val age: Int | |
) | |
@KomapperEntity |
// 下記の記事の最後のコード例をKotlinで書いてみた | |
// https://zenn.dev/hinastory/articles/c8d5267ea43ed6 | |
package hello.kotlin | |
data class Person(val name: String, val age: Int) | |
data class Japanese(val name: String, val age: Int, val info: String) | |
interface CanGreet<T> { | |
fun T.hello() |
val d = Dept.meta | |
val e = Emp.meta | |
val query = SqlDsl.from(d).innerJoin(e){ d.id eq e.deptId }.associate(d, e) | |
val aggregate = db.runQuery { query } | |
val map: Map<Dept, Set<Emp>> = aggregate.oneToMany(d, e) |
public class Address { | |
public String ctiy; | |
public String street; | |
public Address(String city, String street) { | |
this.city = ctiy; | |
this.street = street; | |
} | |
} |
fun String.globalExtension() { | |
println(this) | |
} | |
class Scope { | |
fun String.narrowExtension() { | |
println(this) | |
} | |
} |
package org.komapper.quickstart | |
import org.komapper.annotation.KomapperAutoIncrement | |
import org.komapper.annotation.KomapperEntity | |
import org.komapper.annotation.KomapperId | |
import org.komapper.core.dsl.EntityDsl | |
import org.komapper.core.dsl.SchemaDsl | |
import org.komapper.core.dsl.expression.ColumnExpression | |
import org.komapper.core.dsl.scope.WhereDeclaration | |
import org.komapper.jdbc.JdbcDatabase |