#580 - @Enumerated(EnumType.STRING) on Enum uses toString() rather than name()

This commit is contained in:
Robin Bygrave
2016-03-01 17:35:55 +13:00
parent 0a60cd4e58
commit ad596a2043
3 changed files with 29 additions and 7 deletions
@@ -2,7 +2,16 @@ package com.avaje.tests.model.basic;
public enum MNonEnum {
BEGIN,
END
BEGIN("B"),
END("E");
String value;
MNonEnum(String value) {
this.value = value;
}
public String toString() {
return value;
}
}
@@ -7,13 +7,26 @@ import com.avaje.ebean.Ebean;
import com.avaje.tests.model.basic.MNonEnum;
import com.avaje.tests.model.basic.MNonUpdPropEntity;
import static org.assertj.core.api.Assertions.assertThat;
public class TestFindWhereUsingEnumerated extends BaseTestCase {
@Test
public void test() {
Ebean.find(MNonUpdPropEntity.class).where().eq("nonEnum", MNonEnum.BEGIN).findList();
MNonUpdPropEntity e = new MNonUpdPropEntity();
e.setNonEnum(MNonEnum.END);
e.setName("TheNonEnumIsEnd");
e.setNote("note");
Ebean.save(e);
MNonUpdPropEntity unique = Ebean.find(MNonUpdPropEntity.class).where()
.eq("nonEnum", MNonEnum.END)
.eq("name", "TheNonEnumIsEnd")
.findUnique();
assertThat(unique).isNotNull();
}
}