Skip to content

Commit 69ff3d4

Browse files
committed
Merge pull request #91 from domaframework/revert-90-fix-mapping-hint
Revert "JdbcMappingHint#getDomainClass() がドメインクラスを返さない問題を修正"
2 parents 3656026 + 98ccd88 commit 69ff3d4

15 files changed

+27
-77
lines changed

src/main/java/org/seasar/doma/internal/jdbc/sql/NodePreparedSqlBuilder.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.seasar.doma.internal.expr.ExpressionParser;
3535
import org.seasar.doma.internal.expr.Value;
3636
import org.seasar.doma.internal.expr.node.ExpressionNode;
37+
import org.seasar.doma.internal.jdbc.command.JdbcMappable;
3738
import org.seasar.doma.internal.jdbc.scalar.Scalar;
3839
import org.seasar.doma.internal.jdbc.scalar.ScalarException;
3940
import org.seasar.doma.internal.jdbc.scalar.Scalars;
@@ -605,8 +606,8 @@ public void appendSql(String sql) {
605606
}
606607

607608
@Override
608-
public <BASIC> void appendParameter(InParameter<BASIC> parameter) {
609-
p.appendParameter(parameter);
609+
public <BASIC> void appendParameter(JdbcMappable<BASIC> parameter) {
610+
p.appendParameter(new BasicInParameter<>(parameter::getWrapper));
610611
}
611612
});
612613
return null;

src/main/java/org/seasar/doma/internal/jdbc/sql/PreparedSqlBuilder.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.List;
2222
import java.util.function.Function;
2323

24+
import org.seasar.doma.internal.jdbc.command.JdbcMappable;
2425
import org.seasar.doma.jdbc.Config;
2526
import org.seasar.doma.jdbc.SqlKind;
2627
import org.seasar.doma.jdbc.SqlLogFormattingFunction;
@@ -29,7 +30,7 @@
2930

3031
public class PreparedSqlBuilder implements SqlContext {
3132

32-
protected final List<InParameter<?>> parameters = new ArrayList<>();
33+
protected final List<BasicInParameter<?>> parameters = new ArrayList<>();
3334

3435
protected final StringBuilder rawSql = new StringBuilder(200);
3536

@@ -61,12 +62,12 @@ public void cutBackSql(int length) {
6162
formattedSql.setLength(formattedSql.length() - length);
6263
}
6364

64-
public <BASIC> void appendParameter(InParameter<BASIC> parameter) {
65+
public <BASIC> void appendParameter(JdbcMappable<BASIC> parameter) {
6566
rawSql.append("?");
6667
Wrapper<BASIC> wrapper = parameter.getWrapper();
6768
formattedSql.append(wrapper.accept(config.getDialect()
6869
.getSqlLogFormattingVisitor(), formattingFunction, null));
69-
parameters.add(parameter);
70+
parameters.add(new BasicInParameter<BASIC>(() -> wrapper));
7071
}
7172

7273
public PreparedSql build(Function<String, String> commenter) {

src/main/java/org/seasar/doma/internal/jdbc/sql/SqlContext.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@
1515
*/
1616
package org.seasar.doma.internal.jdbc.sql;
1717

18+
import org.seasar.doma.internal.jdbc.command.JdbcMappable;
1819

1920
/**
2021
* @author nakamura-to
2122
* @since 2.3.0
2223
*/
2324
public interface SqlContext {
2425

25-
<BASIC> void appendParameter(InParameter<BASIC> parameter);
26+
<BASIC> void appendParameter(JdbcMappable<BASIC> parameter);
2627

2728
void appendSql(String sql);
2829

src/main/java/org/seasar/doma/jdbc/JdbcMappingHint.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,10 @@
1818
import java.util.Optional;
1919

2020
/**
21-
* マッピングに関するヒント情報です。
22-
* <p>
23-
* {@link JdbcMappingVisitor} の実装クラスにおいて、次のマッピングのカスタマイズに利用できます。
24-
*
25-
* <ul>
26-
* <li>JavaのクラスからSQLの型へのマッピング(JavaからSQLのバインド変数へのマッピング)</li>
27-
* <li>SQLの型からJavaのクラスへのマッピング(SQLの結果セットからJavaのマッピング)</li>
28-
* </ul>
29-
*
3021
* @author nakamura-to
3122
*
3223
*/
3324
public interface JdbcMappingHint {
3425

35-
/**
36-
* ドメインクラスにマッピングされている場合、そのドメインクラスを返します。
37-
*
38-
* @return ドメインクラス
39-
*/
4026
Optional<Class<?>> getDomainClass();
4127
}

src/main/java/org/seasar/doma/jdbc/entity/DefaultPropertyType.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
import org.seasar.doma.internal.jdbc.scalar.OptionalIntScalar;
3636
import org.seasar.doma.internal.jdbc.scalar.OptionalLongScalar;
3737
import org.seasar.doma.internal.jdbc.scalar.Scalar;
38-
import org.seasar.doma.internal.jdbc.sql.InParameter;
39-
import org.seasar.doma.internal.jdbc.sql.ScalarInParameter;
4038
import org.seasar.doma.internal.util.ClassUtil;
4139
import org.seasar.doma.internal.util.FieldUtil;
4240
import org.seasar.doma.jdbc.Naming;
@@ -372,11 +370,6 @@ public Property<ENTITY, BASIC> save(ENTITY entity) {
372370
return this;
373371
}
374372

375-
@Override
376-
public InParameter<BASIC> asInParameter() {
377-
return delegate.asInParameter();
378-
}
379-
380373
@Override
381374
public Wrapper<BASIC> getWrapper() {
382375
return delegate.getWrapper();
@@ -429,11 +422,6 @@ public Property<ENTITY, BASIC> save(ENTITY entity) {
429422
return this;
430423
}
431424

432-
@Override
433-
public InParameter<BASIC> asInParameter() {
434-
return new ScalarInParameter<>(scalar);
435-
}
436-
437425
@Override
438426
public Wrapper<BASIC> getWrapper() {
439427
return scalar.getWrapper();

src/main/java/org/seasar/doma/jdbc/entity/Property.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.seasar.doma.jdbc.entity;
1717

1818
import org.seasar.doma.internal.jdbc.command.JdbcMappable;
19-
import org.seasar.doma.internal.jdbc.sql.InParameter;
2019

2120
/**
2221
* プロパティです。
@@ -56,12 +55,4 @@ public interface Property<ENTITY, BASIC> extends JdbcMappable<BASIC> {
5655
*/
5756
Property<ENTITY, BASIC> save(ENTITY entity);
5857

59-
/**
60-
* このプロパティを入力用パラメータとして返します。
61-
*
62-
* @return 入力用パラメータ
63-
* @since 2.4.0
64-
*/
65-
InParameter<BASIC> asInParameter();
66-
6758
}

src/main/java/org/seasar/doma/jdbc/query/AutoBatchDeleteQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ protected void prepareSql() {
109109
builder.appendSql(propertyType.getColumnName(naming::apply,
110110
dialect::applyQuote));
111111
builder.appendSql(" = ");
112-
builder.appendParameter(property.asInParameter());
112+
builder.appendParameter(property);
113113
builder.appendSql(" and ");
114114
}
115115
builder.cutBackSql(5);
@@ -125,7 +125,7 @@ protected void prepareSql() {
125125
builder.appendSql(versionPropertyType.getColumnName(naming::apply,
126126
dialect::applyQuote));
127127
builder.appendSql(" = ");
128-
builder.appendParameter(property.asInParameter());
128+
builder.appendParameter(property);
129129
}
130130
PreparedSql sql = builder.build(this::comment);
131131
sqls.add(sql);

src/main/java/org/seasar/doma/jdbc/query/AutoBatchInsertQuery.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ protected void prepareSql() {
180180
for (EntityPropertyType<ENTITY, ?> propertyType : targetPropertyTypes) {
181181
Property<ENTITY, ?> property = propertyType.createProperty();
182182
property.load(currentEntity);
183-
builder.appendParameter(property.asInParameter());
183+
builder.appendParameter(property);
184184
builder.appendSql(", ");
185185
}
186186
builder.cutBackSql(2);

src/main/java/org/seasar/doma/jdbc/query/AutoBatchUpdateQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ protected void prepareSql() {
126126
builder.appendSql(propertyType.getColumnName(naming::apply,
127127
dialect::applyQuote));
128128
builder.appendSql(" = ");
129-
builder.appendParameter(property.asInParameter());
129+
builder.appendParameter(property);
130130
builder.appendSql(" and ");
131131
}
132132
builder.cutBackSql(5);
@@ -142,7 +142,7 @@ protected void prepareSql() {
142142
builder.appendSql(versionPropertyType.getColumnName(naming::apply,
143143
dialect::applyQuote));
144144
builder.appendSql(" = ");
145-
builder.appendParameter(property.asInParameter());
145+
builder.appendParameter(property);
146146
}
147147
PreparedSql sql = builder.build(this::comment);
148148
sqls.add(sql);

src/main/java/org/seasar/doma/jdbc/query/AutoDeleteQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ protected void prepareSql() {
9393
builder.appendSql(propertyType.getColumnName(naming::apply,
9494
dialect::applyQuote));
9595
builder.appendSql(" = ");
96-
builder.appendParameter(property.asInParameter());
96+
builder.appendParameter(property);
9797
builder.appendSql(" and ");
9898
}
9999
builder.cutBackSql(5);
@@ -109,7 +109,7 @@ protected void prepareSql() {
109109
builder.appendSql(versionPropertyType.getColumnName(naming::apply,
110110
dialect::applyQuote));
111111
builder.appendSql(" = ");
112-
builder.appendParameter(property.asInParameter());
112+
builder.appendParameter(property);
113113
}
114114
sql = builder.build(this::comment);
115115
}

0 commit comments

Comments
 (0)