您应该确定您
Platform是否为 实体 。
如果是实体,则不能是
enum,因为可能平台的列表存储在数据库中,而不是应用程序中。它应该是带有
@Entity注释的常规类,并且您将具有正常的多对多关系。
如果不是实体,则不需要
TBL_PLATFORM表,也就没有多对多关系。在这种情况下,您可以将
Platforms
的集合表示为带有位标志的整数字段,或者表示为简单的一对多关系。JPA 2.0使用
@ElementCollection以下命令简化了后一种情况:
@ElementCollection(targetClass = Platform.class) @CollectionTable(name = "TBL_APP_PLATFORM", joinColumns = @JoinColumn(name = "APP_ID"))@Column(name = "PLATFORM_ID")protected Set<Platform> _platforms;
--
create table TBL_APP_PLATFORM ( APP_ID bigint not null, PLATFORM_ID bigint not null, -- the ordinal number of enum value primary key (APP_ID, PLATFORM_ID) );
并且
enum Platform没有注释。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)