我在实体结构中遇到问题,我正在使用 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 的列映射已损坏。
我能做什么有什么建议吗?