多对多单向映射中的持久化枚举集

多对多单向映射中的持久化枚举集,第1张

多对多单向映射中的持久化枚举集

您应该确定您

Platform
是否为 实体

如果是实体,则不能是

enum
,因为可能平台的列表存储在数据库中,而不是应用程序中。它应该是带有
@Entity
注释的常规类,并且您将具有正常的多对多关系

如果不是实体,则不需要

TBL_PLATFORM
表,也就没有多对多关系。在这种情况下,您可以将
Platform
s
的集合表示为带有位标志的整数字段,或者表示为简单的一对多关系。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
没有注释。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5019658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存