1
見ての通り、私はfeature_affinities
の詳細テーブルが複合キー(feature_id
、zoom
)を持って、次の関係外部キーを含む複合主キーをモデル化するにはどうすればよいですか?
を持っている、のコンポーネントそれ外部キー、features
のマスターテーブルを参照します。
私は
@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;
...
を書いたが、この正しいですか?
私は、FeatureAffinitiesKey
をシリアライズ可能と宣言していると私は混乱しています。しかしそれにはFeature
フィールが含まれているので、Feature
もシリアライズ可能でなければなりません。また、すべてのコンパイル関連のクラスもFeature
にする必要があります。
これは正常ですか?