我想在实体中添加一个额外的集合。但是Ebean似乎没有处理它,并且当我阅读它时总是给我null。
@Entity
public class MyData extends Model {
@ElementCollection
public Set<String> extra = new HashSet<String>();
}
答案 0 :(得分:1)
Ebean仅支持JPA 1.0并添加了一些模式注释,如@PrivateOwned。很遗憾@ElementCollection
尚不支持(Ebean 2.8.x),此问题有一张票http://www.avaje.org/bugdetail-378.html
今天你唯一可以做的就是创建一个String实体表(一个带有字符串字段和ID的实体),或者如果集合不是太大,你自己将字符串展平为一个字符串。
public String extra;
public Set<String> getExtra() {
// Split the string along the semicolons and create the set from the resulting array
return new HashSet<String>(Arrays.asList(extra.split(";")));
}
public void setExtra(Set<String> extra) {
// Join the strings into a semicolon separated string
this.extra = Joiner.on(";").join(extra);
}