播放框架2.1.1,@ ElementCollection不在evolution中生成

时间:2013-06-30 02:50:13

标签: playframework playframework-2.1 ebean

我有一个简单的模型,如下:

@Entity
public class Album extends Model {
    @Id
    public Long id;
    public String name;

    @ElementCollection
    public Set<String> urls = new HashSet<>();

    // ...
}

当我在新数据库上运行应用程序时,会生成一个进化但不包含任何url的内容。它看起来像这样:

# --- Created by Ebean DDL
# To stop Ebean DDL generation, remove this comment and start using Evolutions

# --- !Ups

create table album (
  id                        bigint not null,
  name                      varchar(255),
  constraint pk_album primary key (id))
;

create sequence album_seq;

我错过了什么?我应该以不同的方式建立这种关系吗?

编辑:我通过添加一个Url实体并将@ManyToOne映射放回到相册来解决这个问题,但这真的不太好......

1 个答案:

答案 0 :(得分:3)

似乎EBean不支持@ElementCollection。

这样做的一种方法应该是将你的网址集声明为@Transient(即没有持久化)并拥有管理它的方法,同时保持最新的包含你的标记逗号分隔的简单字符串。那就是这个String被保存在一个列中。