java - 为未定义主键但已创建唯一索引的表创建 JPA 模型类
问题描述
为未定义主键但已创建唯一索引的表创建 JPA 模型类。
例如,有一个表 popular_item 表,其中包含 itemEntityId、itemType、itCode、quantity、status、createdDate 等列。其中,如果列 itemEntityId、itemType、itCode、quantity 是唯一索引的一部分。那么如何创建模型类呢?
解决方案
JPA 模型类可以如下创建,其 ID 是作为PopularItemId
唯一索引一部分的列的组合
@Table(name="popular_item")
@Entity
@NoArgConstructor
@AllArgCOnstructor
PopularItem{
@EmbeddedId
@AtrributeOverride(name="itemEntityId",column=@Column(name=""))
@AtrributeOverride(name="itemType",column=@Column(name="itemType"))
@AtrributeOverride(name="itCode",column=@Column(name="itCode"))
@AtrributeOverride(name="quantity",column=@Column(name="quantity"))
private PopularItemId popularItemId;
@Column(name="status")
private boolean status;
@Column(name="created_date")
private LocalDate createdDate;
}
@AllArgsConstructor
@NoArgConstrucotor
@Embeddable
public class PopularItemId {
private String itemEntityId;
private String itemType;
private String itCode;
private Double quantity;
}
推荐阅读
- c# - ChoETL 将 JSON 嵌套到 CSV
- r - 如何过滤包含来自另一列的 2 个或多个单词的行?
- c# - datagdridview 显示两个日期之间每个月的所有日子
- c++ - 比较 UTF-8 字符
- javascript - 移动切换菜单上的 React-Bootstrap 错误消息
- java - Android 自定义视图 getForeground() 返回 null,即使它是在 xml 中设置的
- push-notification - 将数据从服务器推送到多个 wifi 客户端
- java - DJI 视频源作为 WebRTC (Android) 的源
- c++ - 具有继承实现的 C++ 规则 5
- reactjs - React 测试库 - 外部 Web 组件回调函数不起作用