ラムダで指定できなくはないが、型パラメータが面倒臭いことになる
val query = select({ it.name }, from = ::_Emp) { e -> where { eq(e.id, 1) }}
fun <ENTITY, ENTITY_TYPE : EntityType<ENTITY>, BASIC, PROPERTY_TYPE: EntityPropertyType<ENTITY, BASIC>> select(
projection: (ENTITY_TYPE) -> BASIC,
from: () -> ENTITY_TYPE,
block: SelectDeclaration.(ENTITY_TYPE) -> Unit
): SelectStatement<ENTITY, ENTITY_TYPE> {
return SelectStatement(from, block)
}