3

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

@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 映射回相册来解决这个问题,但这真的不是很好......

4

1 回答 1

3

似乎 EBean 不支持 @ElementCollection。

一种方法应该是将您的 URL 集声明为 @Transient (即不持久化)并具有管理它的方法,同时保持最新的包含您的标签逗号分隔的简单字符串。那将是这个字符串,它被保存在一个列中。

于 2013-09-23T10:11:54.873 回答