J'ai la relation suivanteComment modéliser une clé primaire composite, contenant une clé étrangère?
Comme vous le voyez, les détails table des feature_affinities
a clé composite (feature_id
, zoom
), de quels composants une clé étrangère, se référant table maître de features
.
j'ai écrit
@Entity
@Table(name = "features")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "subtype_id", discriminatorType = DiscriminatorType.INTEGER)
public class Feature {
@Id
@Column(name="id")
@GeneratedValue(generator="sqlite")
@TableGenerator(name="sqlite", table="sqlite_sequence",
pkColumnName="name", valueColumnName="seq",
pkColumnValue="features")
// @GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private long id;
...
@Embeddable
public class FeatureAffinitiesKey implements Serializable {
@ManyToOne
@JoinColumn(name = "feature_id")
@Getter
@Setter
private Feature feature;
@Column(name = "zoom")
@Getter
@Setter
private Long zoom;
}
@Entity
@Table(name = "feature_affinities")
public class FeatureAffinities {
@Getter
@Setter
@EmbeddedId
private FeatureAffinitiesKey key;
...
Est-ce exact?
Je suis confus, qu'il m'a réclamé de déclarer FeatureAffinitiesKey
sérialisable. Mais puisqu'il contient Feature
flèches, il provoquera Feature
devrait être sérialisable aussi et aussi toutes les classes connexes composés à l'intérieur de Feature
aussi.
Est-ce normal?