Skip to content

Commit ac95241

Browse files
committed
エンティティクラスのコンストラクタで @ParameterName を利用できるように変更
1 parent 7d66d2f commit ac95241

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/main/java/org/seasar/doma/internal/apt/meta/EntityMeta.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import javax.lang.model.element.VariableElement;
2929
import javax.lang.model.type.TypeMirror;
3030

31+
import org.seasar.doma.ParameterName;
3132
import org.seasar.doma.internal.apt.mirror.EntityMirror;
3233
import org.seasar.doma.internal.apt.mirror.TableMirror;
3334
import org.seasar.doma.jdbc.entity.NamingType;
@@ -141,8 +142,13 @@ public List<EntityPropertyMeta> getAllPropertyMetasInCtorArgsOrder() {
141142
}
142143
List<EntityPropertyMeta> results = new ArrayList<EntityPropertyMeta>();
143144
for (VariableElement param : constructor.getParameters()) {
144-
results.add(allPropertyMetaMap
145-
.get(param.getSimpleName().toString()));
145+
String name = param.getSimpleName().toString();
146+
ParameterName parameterName = param
147+
.getAnnotation(ParameterName.class);
148+
if (parameterName != null) {
149+
name = parameterName.value();
150+
}
151+
results.add(allPropertyMetaMap.get(name));
146152
}
147153
return results;
148154
}

src/main/java/org/seasar/doma/internal/apt/meta/EntityMetaFactory.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.seasar.doma.Entity;
4444
import org.seasar.doma.EntityField;
4545
import org.seasar.doma.OriginalStates;
46+
import org.seasar.doma.ParameterName;
4647
import org.seasar.doma.Transient;
4748
import org.seasar.doma.internal.apt.AptException;
4849
import org.seasar.doma.internal.apt.AptIllegalStateException;
@@ -591,6 +592,11 @@ protected ExecutableElement getSuitableConstructor(
591592
int validCount = 0;
592593
for (VariableElement param : constructor.getParameters()) {
593594
String name = param.getSimpleName().toString();
595+
ParameterName parameterName = param
596+
.getAnnotation(ParameterName.class);
597+
if (parameterName != null) {
598+
name = parameterName.value();
599+
}
594600
TypeMirror paramType = param.asType();
595601
TypeMirror propertyType = types.get(name);
596602
if (propertyType == null) {

0 commit comments

Comments
 (0)