小编Jho*_*ina的帖子

两个外键的复合主键

我在实体结构中遇到问题,我正在使用 Hibernate + JPA。该类由用户分类组成,其中主键是用户(来自 Usuario 类),另一个是季节(来自 Temporada 类)。类结构下面:

@Entity(name = "CLASSIFICACAO")
@Data
public class Classificacao implements Serializable
{
  @Id
  @GeneratedValue(generator="SharedPrimaryKeyGenerator")
  @GenericGenerator(name="SharedPrimaryKeyGenerator",strategy="foreign",parameters =  @Parameter(name="property", value="usuario"))
  @Column(unique = true, nullable = false)
  private String classificacao;
  @Id
  @GeneratedValue(generator="SharedPrimaryKeyGenerator")
  @GenericGenerator(name="SharedPrimaryKeyGenerator",strategy="foreign",parameters =  @Parameter(name="property", value="temporada"))
  @Column(unique = true, nullable = false)
  private Long codTemporada;
  //another fields  
  @OneToOne
  @PrimaryKeyJoinColumn
  private Usuario usuario;
  @ManyToOne
  @PrimaryKeyJoinColumn
  private Temporada temporada;
}
Run Code Online (Sandbox Code Playgroud)

'classificacao' 字段从 Usuario 外键接收用户名;在我没有将“codTemporada”字段作为主要字段之前,它就像一个魅力。“classificacao”收到了用户并且是主要的,而“temporada”只是外国用户。但现在我也需要“codTemporada”字段成为主要字段,从而形成复合主键类。但我刚刚收到错误:br.com.xxxxx.model.Classificacao 的 usuario.id 的列映射已损坏。

我能做什么有什么建议吗?

hibernate jpa spring-mvc

6
推荐指数
1
解决办法
3001
查看次数

标签 统计

hibernate ×1

jpa ×1

spring-mvc ×1