当前位置: 首页 > 知识库问答 >
问题:

为未定义主键但创建了唯一索引的表创建JPA模型类

胡国兴
2023-03-14

为未定义主键但创建了唯一索引的表创建JPA模型类。

例如,有一个表population_item table,其中包含itemEntityId、itemType、itCode、quantity、status、CreatedDate等列。其中,如果列itemEntityId、itemType、itCode、quantity是唯一索引的一部分。那么如何创建模型类呢?

共有1个答案

巴星华
2023-03-14

JPA模型类可以如下所示创建,其ID为populationItemID,它是作为唯一索引一部分的列的组合

@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;
}
 类似资料:
  • CreateIndexes 根据struct中的tag来创建索引 CreateUniques 根据struct中的tag来创建唯一索引

  • 问题内容: 不知道在PostgreSQL 9.3+中是否可行,但是我想在非唯一列上创建唯一索引。对于像这样的表: 我想仅能[快速]查询不同的日子。我知道我可以用来帮助执行不同的搜索,但是如果不同值的数量大大少于索引覆盖的行数,这似乎会增加额外的开销。就我而言,大约30天中有1天与众不同。 我是创建关系表以仅跟踪唯一条目的唯一选择吗?思维: 并在每次插入数据时使用触发器来更新它。 问题答案: 索引只

  • 问题内容: 我有一个清单说。我想为每个唯一值分配一个特定的“索引”来获取。 这是我的代码: 事实证明这很慢。 具有1M个元素和100K个唯一元素。我也尝试过用lambda和sort进行地图操作,这没有帮助。这样做的理想方法是什么? 问题答案: 由于执行线性搜索,然后对中的每个元素执行线性搜索,因此导致代码变慢。因此,对于每1M个项目,您要进行(最多)100K个比较。 将一个值转换为另一个值的最快方

  • 问题内容: 我在Postgres DB中有两个名为&的表,如下所示: 如何确保仅将或的唯一组合用于主键,以便表不允许插入以下内容: 如果已经有包含like的行: 目的是避免相同玩家之间的比赛进入。 问题答案: 创建一个唯一索引: 不能是或约束,因为它们仅适用于列,不适用于表达式。 您可以添加一个列作为PK,但是只有两个整数列,原始PK也非常有效(请参阅注释)。它会自动使两列都变为。(否则,添加约束

  • jOOQ具有文档中所述的CREATE TABLE语法: 我想知道如何定义哪个列属于主键?那么,在jOOQ中有没有办法用主键信息创建create TABLE语句呢? 我对SQLite的解决方案特别感兴趣,它没有语法来添加主键,所以我认为在最坏的情况下,我必须去一个特定于数据库的解决方案?

  • 我正在制作一个React应用程序,允许你制作一个列表并保存它,但React一直在警告我,我的元素没有唯一的关键道具(元素列表/列表表单)。如何为用户创建的元素创建唯一的关键道具?下面是我的代码 我的超文本标记语言: