JPA Cascade: Entity nur speichern, wenn sie nicht schon existiert

saw

Mitglied
Hi, ich versuche ein Objekt nur dann kaskadierend persistent zu machen, wenn es nicht schon in der DB existiert.

PersistentObject.java
Code:
@MappedSuperclass
public abstract class PersistentObject {

    @Id
    @Column(length = 64)
    private String id;

    public PersistentObject() {
    	super();
    	this.id = UUID.randomUUID().toString();
    }
        
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		PersistentObject other = (PersistentObject) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
   
}

Tag.java
Code:
@Entity
public class Tag extends PersistentObject {
	
	public Tag() {
		super();
	}
	
	public Tag(String value) {
		super();
		setId(value);
	}


	@Override
	public String toString() {
		return "Tag [getId()=" + getId() + "]";
	}
	
}

Jetzt habe ich eine weitere Klasse, die mehrere Tags referenziert und möchte alles zusammen mit EntityManager#persist() speichern können. ABER: Momentan bekomme ich dabei einen Fehler, der mit sagt "So einen Tag mit dieser ID habe ich schon". Ich suche nach einer Möglichkeit JPA / Hibernate zu sagen es soll in diesem Fall bitte den Tag benutzen, der schon persistent ist.Geht das irgendwie?

Grüße
saw
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Cascade.All greift nur nach Jetty bzw. Tomcat neustart Data Tier 4
A JPA Cascade Types Data Tier 4
S OneToOne Beziehung erzeugt not marked cascade PERSIST Data Tier 1
GilbertGrape Cascade Problem (Hibernate) Data Tier 3
OnDemand Vorgehen DB /Entity Data Tier 2
A Entity Manager Data Tier 4
erdmann Entity-Services ein Antipattern? Data Tier 3
E JPA Session.delete einer Entity wird nicht ausgeführt Data Tier 2
G JPA: Entity Klasse @JoinColumns Problem Data Tier 2
G EJB NoSuchEJBException Zugriff auf Entity Data Tier 6
S [JPA-Neuling] - JPA 2 und dynamische Entity-Typen/DB-Schemata Data Tier 11
Landei JPA - Entity mit Maps Data Tier 2
H [Hibernate] Unknown Entity Data Tier 3
G JPA/ Eclipselink: (Alte) Kopie einer Entity? Data Tier 6
J Servlet mit eigenem Entity-Manager innerhalb von Seam-Projekt Data Tier 3
lumo Hibernate - entity class not found Data Tier 5
J synchronisierte Zugriffe auf die gleiche Entity (JPA) Data Tier 19
LCS Entity mit variablen Tabellennamen Data Tier 3
D jpq entity life cycle - insert, update... Data Tier 5
A @org.hibernate.annotations.Entity(dynamicUpdate=true, optimisticLock=OptimisticLockType.ALL) Data Tier 2
T [JPA] Update Entity in Entity Data Tier 2
byte Hibernate: Criteria & SubQuery - Unknown Entity null Data Tier 1
Final_Striker EJB3: Entity nach persist wiederfinden Data Tier 8
N Entity-Object muss auf Client aktualisiert werden Data Tier 13
0 org.hibernate.MappingException: Unknown entity Data Tier 8
K Hibernate: Unknown entity Data Tier 7
S JPA Entitäten auf Entitäten speichern Data Tier 2
C Businessmethoden in einer Entität zum bidirektionalen Speichern? Data Tier 2
lordcarlos XStream + allgemein Objekte und dessen relatios speichern Data Tier 3
F JPA Speichern komplexer Objekte Data Tier 2
M Hibernate Mehr als 1 Object speichern? Data Tier 18
K Hibernate speichern mit nullabe fremdschlüssel erlauben Data Tier 4
T Hibernate: Löschen vor Speichern Data Tier 34
alexpetri HSQL Datei in Tabelle speichern Data Tier 2
V Hibernate: byte[] speichern Data Tier 4
V Daten speichern Data Tier 7
S Hibernate: Klasseninterne Felder speichern/lesen Data Tier 3

Ähnliche Java Themen

Neue Themen


Oben