Ich verwende JPA-Anmerkungen und wenn ich Beziehung OneToMany - ManyToOne habe, wenn ich meine Entität in der ManyToOne, die JoinColumn immer mit Null-Wert ist.So implementieren Sie manuell JPA-Beziehung OneToMany
Als nächstes werde ich mein Beispiel zeigen, habe ich Produkt:
@Entity
@Table(name = "PC_PRODUCT")
public class Product extends LaunchEntity {
private static final long serialVersionUID = 1L;
@XmlElement(name = "Product_Name", required = true)
protected String productName;
@XmlElement(name = "Product_Description")
protected String productDescription;
@XmlElement(name = "Product_To_Charge")
@OneToMany(mappedBy = "product", cascade=CascadeType.MERGE)
protected List<ChargeRelation> productToCharge;
Und das ist mein ChargeRelation Klasse:
@Entity
@Table(name="PC_CHARGE_RELATION")
public class ChargeRelation
extends RelationEntity
{
private static final long serialVersionUID = 1L;
@XmlElement(name = "Charge", required = true)
@OneToOne(cascade = CascadeType.MERGE)
protected Charge charge;
@XmlTransient
@ManyToOne(cascade=CascadeType.MERGE)
@JoinColumn(name="PRODUCT_ID")
protected Product product;
ich eine XML-Datei lese, konvertieren Daten für eine string, mach unmarshall für mein Wurzelobjekt und behalte dieses Objekt bei.
Das Problem ist, wenn ich eine Ladung Beziehung in meinem String gefunden, werden die Werte auf dem Tisch Ladungs Relation eingefügt aber die Säule mit dem product_id ist immer null.
Ich habe alle Setter und Getter definiert. Wie kann ich dies erzwingen, um den manuellen Einsatz zu machen? danke
ich es versuchen, aber hat nicht funktioniert. Ich mache eine rekursive Methode, um alle Beziehungen zu machen. jetzt geht es :) –