Ich habe mit dem folgenden Code für Feature
DisseminationArea
als subcalss zuzugreifen:Wie Diskriminator Spalte in JPA
@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")
@Getter
@Setter
private long id;
@ManyToOne
@JoinColumn(name = "subtype_id")
@Getter
@Setter
private FeatureSubtype featureSubtype;
@ManyToOne
@JoinColumn(name = "parent_id")
@Getter
@Setter
private Feature parent;
...
}
Leider bewirkt dies eine Ausnahme, wenn speichern diese Entität Datenbank, weil subtype_id
Feld zweimal verwendet wird.
Kann ich es irgendwie annotieren, damit JPA weiß, dass es das gleiche Feld ist?
Warum brauchen Sie die gleiche Spalte für beide? –
@ PeterŠály Ich nicht. Aber würde gerne wissen, ob ich es war. – Dims