use of com.cadenzauk.siesta.Alias in project siesta by cadenzauk.
the class TableBuilderTest method embeddedIdFromAnnotation.
@Test
void embeddedIdFromAnnotation() {
Database database = Database.newBuilder().defaultSchema("DEFAULT_SCHEMA").build();
Alias<EmbeddedIdAnnotation> alias = database.table(EmbeddedIdAnnotation.class).as("t");
String idSql = database.table(EmbeddedIdAnnotation.class).columns().flatMap(c -> c.idSql(alias)).collect(joining(" and "));
assertThat(idSql, is("t.KEY_IDENTIFIER = ? and t.KEY_VERSION = ?"));
}
use of com.cadenzauk.siesta.Alias in project siesta by cadenzauk.
the class TableBuilderTest method idFromBuilderMandatory.
@Test
void idFromBuilderMandatory() {
Database database = Database.newBuilder().defaultSchema("DEFAULT_SCHEMA").table(NoAnnotations.class, t -> t.column(NoAnnotations::id, c -> c.identifier(true))).build();
Alias<NoAnnotations> alias = Alias.of(database.table(NoAnnotations.class));
String idSql = database.table(NoAnnotations.class).columns().flatMap(c -> c.idSql(alias)).collect(joining(" and "));
assertThat(idSql, is("DEFAULT_SCHEMA.NO_ANNOTATIONS.ID = ?"));
}
use of com.cadenzauk.siesta.Alias in project siesta by cadenzauk.
the class ExpectingJoinTest method testJoin.
@ParameterizedTest
@MethodSource("argsForJoin")
void testJoin(BiFunction<ExpectingJoin1<SalespersonRow>, Alias<SalespersonRow>[], ExpectingSelect<?>> method, String expectedSql) {
MockitoAnnotations.initMocks(this);
Database database = testDatabase(new AnsiDialect());
@SuppressWarnings("unchecked") Alias<SalespersonRow>[] alias = toArray(database.table(SalespersonRow.class).as("s1"), database.table(SalespersonRow.class).as("s2"), database.table(SalespersonRow.class).as("s3"), database.table(SalespersonRow.class).as("s4"), database.table(SalespersonRow.class).as("s5"), database.table(SalespersonRow.class).as("s6"), database.table(SalespersonRow.class).as("s7"), database.table(SalespersonRow.class).as("s8"), database.table(SalespersonRow.class).as("s9"));
method.apply(database.from(alias[0]), alias).select(alias[0], SalespersonRow::firstName, "name").list(transaction);
verify(transaction).query(sql.capture(), args.capture(), rowMapper.capture());
assertThat(sql.getValue(), is("select s1.FIRST_NAME as name from SIESTA.SALESPERSON s1 " + expectedSql));
assertThat(args.getValue(), arrayWithSize(0));
}
use of com.cadenzauk.siesta.Alias in project siesta by cadenzauk.
the class TableBuilderTest method embeddedIdFromBuilder.
@Test
void embeddedIdFromBuilder() {
Database database = Database.newBuilder().defaultSchema("DEFAULT_SCHEMA").table(EmbeddedIdNoAnnotation.class, t -> t.embedded(Key.class, EmbeddedIdNoAnnotation::key, c -> c.identifier(true))).build();
Alias<EmbeddedIdNoAnnotation> alias = Alias.of(database.table(EmbeddedIdNoAnnotation.class));
String idSql = database.table(EmbeddedIdNoAnnotation.class).columns().flatMap(c -> c.idSql(alias)).collect(joining(" and "));
assertThat(idSql, is("DEFAULT_SCHEMA.EMBEDDED_ID_NO_ANNOTATION.KEY_IDENTIFIER = ? and DEFAULT_SCHEMA.EMBEDDED_ID_NO_ANNOTATION.KEY_VERSION = ?"));
}
use of com.cadenzauk.siesta.Alias in project siesta by cadenzauk.
the class TableBuilderTest method idFromBuilderOptional.
@Test
void idFromBuilderOptional() {
Database database = Database.newBuilder().defaultSchema("DEFAULT_SCHEMA").table(NoAnnotations.class, t -> t.column(NoAnnotations::name, c -> c.identifier(true))).build();
Alias<NoAnnotations> alias = database.table(NoAnnotations.class).as("z");
String idSql = database.table(NoAnnotations.class).columns().flatMap(c -> c.idSql(alias)).collect(joining(" and "));
assertThat(idSql, is("z.NAME = ?"));
}
Aggregations