Skip to content

Commit d65eee8

Browse files
committed
Merge pull request #146 from domaframework/fix-embeddable-null-handling
Embeddable なオブジェクトが null の場合に更新系の処理が失敗する不具合を修正
2 parents f85fed3 + 8024623 commit d65eee8

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/main/java/org/seasar/doma/internal/jdbc/entity/PropertyField.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ public Object getValue(ENTITY entity) {
8181
AssertionUtil.assertNotNull(entity);
8282
Object value = entity;
8383
for (Field field : fields) {
84+
if (value == null) {
85+
break;
86+
}
8487
value = getFieldValue(field, value);
8588
}
8689
return value;

src/test/java/org/seasar/doma/internal/jdbc/entity/PropertyFieldTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ public void testGetValue_nestedPath() throws Exception {
6666
assertEquals("Tokyo", path.getValue(person));
6767
}
6868

69+
public void testGetValue_nestedPath_null() throws Exception {
70+
Person person = new Person();
71+
PropertyField<Person> path = new PropertyField<>("address.city",
72+
Person.class);
73+
assertNull(path.getValue(person));
74+
}
75+
6976
public void testGetValue_nestedParentPath() throws Exception {
7077
Person person = new Person();
7178
person.address = new Address("island", "Tokyo", "Yaesu");

0 commit comments

Comments
 (0)