EJB3: Entity nach persist wiederfinden

Status
Nicht offen für weitere Antworten.

Final_Striker

Top Contributor
Hallo,

Ich habe eine Entity bei der die ID während dem persist automatisch generiert wird. Das Problem ist, dass ich diese Entity später noch einmal brauche aber ich generiert die ID nicht kenne.

bsp:
[HIGHLIGHT="Java"]class Entity {
private int id;
private String name;
}[/HIGHLIGHT]
[HIGHLIGHT="Java"]@PersistenceContext
EntityManager em;
Entity entity = new Entity(String name);
em.persist(entity);

entity.getID // => 0[/HIGHLIGHT]
wie bekomme ich am einfachsten raus, welche ID die Entity erhalten hat oder woher bekomme ich die vollständige Entity her?
 
Zuletzt bearbeitet von einem Moderator:

JanHH

Top Contributor
Also die ID bekommst Du raus mit

myEntity.getID()

NACH dem persist!

und ansonsten wird der Programmteil, der die Entity wiederfinden will, ja irgendwas darüber wissen, und da gibts ja hier nur ID und name. Wenn das nicht der Fall sein sollte ist mit dem gesamten Design irgendwas falsch.
 
Zuletzt bearbeitet:

Final_Striker

Top Contributor
Also die ID bekommst Du raus mit

myEntity.getID()

NACH dem persist!


Das Problem ist ja das nach dem persist() die ID nicht in der Entity gesetzt wird, wohl aber in der Datenbank.
Aus der Entity bekommte ich immer den Initialwert von int zurück, also 0 obwohl in der Datanbank z.B 5 steht.

Es muss doch aber irgendeine Möglichkeit geben die generierte ID zu bekommen, sonst macht es doch keinen Sinn die ID automatisch generieren zu lassen. :(
 

Noctarius

Top Contributor
@Id
@GeneratedValue
private integer id


so in etwa sollte es aussehen, wenn ich mich recht erinnere
 

MarcB

Bekanntes Mitglied
Um was für eine DB handelt es sich denn?
Arbeitest du mit Remote Daten? Da gibt es nämlich das Problem, das die Entites weiter detached sind.
Guck mal ob
[HIGHLIGHT="Java"]em.flush();[/HIGHLIGHT]
nach dem persist was bringt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I EJB3 @ManyToMany Data Tier 4
OnDemand Vorgehen DB /Entity Data Tier 2
A Entity Manager Data Tier 4
erdmann Entity-Services ein Antipattern? Data Tier 3
S JPA Cascade: Entity nur speichern, wenn sie nicht schon existiert Data Tier 0
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
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
I Gruppierung mit JPA nach Monat? Data Tier 10
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Data Tier 1
A Cascade.All greift nur nach Jetty bzw. Tomcat neustart Data Tier 4
qwerqer Hibernate Verbindung geht nach 2 Minuten verloren Data Tier 2
G Objekte nach Änderung(extern) aktualisieren Data Tier 11
M JSF java.sql.SQLIntegrityConstraintViolationException nach zweitem persist Data Tier 6
S (JPA) id nach persist immer 0 Data Tier 3
dunhillone Event aufrufen nach laden von Entitys Data Tier 3
byte Tomcat / H ibernate - Absturz nach Idle Zeit Data Tier 3

Ähnliche Java Themen


Oben