File tree Expand file tree Collapse file tree 3 files changed +32
-0
lines changed
doma-core/src/main/java/org/seasar/doma/jdbc/criteria/statement
doma-kotlin/src/main/kotlin/org/seasar/doma/jdbc/criteria/statement Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -454,6 +454,15 @@ The above query issues the following SQL statement:
454454 Up to 9 numbers, the column results are held by ``Tuple2 `` to ``Tuple9 ``.
455455For more than 9 numbers, the results are held by ``Row ``.
456456
457+ You can get a ``Row `` list explicitly by using ``selectAsRow `` as follows:
458+
459+ .. code-block :: java
460+
461+ Employee_ e = new Employee_ ();
462+
463+ List<Row > list =
464+ nativeSql. from(e). selectAsRow(e. employeeName, e. employeeNo). fetch();
465+
457466 Column projection and mapping (Entityql, NativeSql)
458467~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
459468
Original file line number Diff line number Diff line change @@ -747,6 +747,21 @@ public SetOperand<Row> select(
747747 for (int i = 0 ; i < propertyMetamodels .length ; i ++) {
748748 Objects .requireNonNull (propertyMetamodels [i ], "propertyMetamodels[" + i + "]" );
749749 }
750+ return selectAsRowInternal (propertyMetamodel , propertyMetamodels );
751+ }
752+
753+ public SetOperand <Row > selectAsRow (
754+ PropertyMetamodel <?> propertyMetamodel , PropertyMetamodel <?>... propertyMetamodels ) {
755+ Objects .requireNonNull (propertyMetamodel );
756+ Objects .requireNonNull (propertyMetamodels );
757+ for (int i = 0 ; i < propertyMetamodels .length ; i ++) {
758+ Objects .requireNonNull (propertyMetamodels [i ], "propertyMetamodels[" + i + "]" );
759+ }
760+ return selectAsRowInternal (propertyMetamodel , propertyMetamodels );
761+ }
762+
763+ private SetOperand <Row > selectAsRowInternal (
764+ PropertyMetamodel <?> propertyMetamodel , PropertyMetamodel <?>... propertyMetamodels ) {
750765 List <PropertyMetamodel <?>> list = new ArrayList <>(1 + propertyMetamodels .length );
751766 list .add (propertyMetamodel );
752767 list .addAll (Arrays .asList (propertyMetamodels ));
Original file line number Diff line number Diff line change @@ -291,6 +291,14 @@ class KNativeSqlSelectStarting<ENTITY>(private val statement: NativeSqlSelectSta
291291 return KNativeSqlSelectIntermediate (setOperand)
292292 }
293293
294+ fun selectAsRow (
295+ propertyMetamodel : PropertyMetamodel <* >,
296+ vararg propertyMetamodels : PropertyMetamodel <* >?
297+ ): KSetOperand <Row > {
298+ val setOperand = statement.selectAsRow(propertyMetamodel, * propertyMetamodels)
299+ return KNativeSqlSelectIntermediate (setOperand)
300+ }
301+
294302 fun <RESULT > selectTo (
295303 entityMetamodel : EntityMetamodel <RESULT >? ,
296304 vararg propertyMetamodels : PropertyMetamodel <* >?
You can’t perform that action at this time.
0 commit comments