P
Peter Müller
Gast
Ich möchte folgendes Realisieren:
Eine Dynamische Maske soll mir eine sprachspezifische Ausgabe anzeigen. Hierzu habe ich drei Tabellen
Language = Eigenschaften für die aktuelle gewählte Sprache
int id (Primary Key)
String nam
Lookup = Die einzelnen Items einer Combobox - List
int id (Primary Key)
String Ffieldname
String Value
LookupData
int lookup_ID
int language_ID
String name // Itemtext
D.h. wenn z.B. der Benutzer Deutsch auswählt soll gibt es eine Eindeutige Identifikation welche Items für die Combobox angezeigt werden sollen.
Lookup-Data ID
Lookup Entity - Bean
Testfunktion zum testen des speicherns in eine MySQL - Datenbank
Diese habe ich mir Anhand von
Sebastian Hennebrüder "Hibernate - Das Praxisbuch für Entwickler", Galileo Computing, S. 184
erstellt, wenn ich es aber kompiliere erhalte ich an der oben gekennzeichneten Stelle einen Fehler mit der Fehlermeldung:
Was mache ich hier Falsch?
Eine Dynamische Maske soll mir eine sprachspezifische Ausgabe anzeigen. Hierzu habe ich drei Tabellen
Language = Eigenschaften für die aktuelle gewählte Sprache
int id (Primary Key)
String nam
Lookup = Die einzelnen Items einer Combobox - List
int id (Primary Key)
String Ffieldname
String Value
LookupData
int lookup_ID
int language_ID
String name // Itemtext
D.h. wenn z.B. der Benutzer Deutsch auswählt soll gibt es eine Eindeutige Identifikation welche Items für die Combobox angezeigt werden sollen.
Code:
package lookuplanganguemodel.persitence;
import java.io.Serializable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
public class LookupDataID implements Serializable {
private static final long serialVersionUID = 1L;
int lookup_id;
int language_id;
public int getLookupID() {
return this.lookup_id;
}
public void setLookupID(int id) {
this.lookup_id = id;
}
public int geLanguageID() {
return this.language_id;
}
public void setLanguageID(int id) {
this.language_id = id;
}
}
Code:
package lookuplanganguemodel.persitence;
import java.io.Serializable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "lookup_data")
public class LookupData implements Serializable {
private static final long serialVersionUID = 1L;
/**
* @directed true
*/
[color=red]@EmbeddedId[/color] // <<----------- FEHLER ???????????????????????????????
private LookupDataID id;
private String name;
public LookupData() {
super();
}
public LookupDataID getId() {
return id;
}
public void setId(LookupDataID id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Code:
package lookuplanganguemodel.persitence;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Lookup implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="id")
private int id;
@Column(name="name")
public Lookup() {
super();
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Code:
package lookuplanganguemodel.persitence;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Language implements Serializable {
@Id
private int id;
private String name;
private static final long serialVersionUID = 1L;
public Language() {
super();
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Code:
package lookuplanganguetest.bean;
import lookuplanganguemodel.persitence.*;
import lookuplangangueutils.db.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class TestLookup {
public void save() {
LookupDataID id = new LookupDataID(1, 1);
LookupData data = new LookupData();
data.setId(id);
Session session = SessionFactory.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
session.save(data);
tx.commit();
session.close();
}
}
Diese habe ich mir Anhand von
Sebastian Hennebrüder "Hibernate - Das Praxisbuch für Entwickler", Galileo Computing, S. 184
erstellt, wenn ich es aber kompiliere erhalte ich an der oben gekennzeichneten Stelle einen Fehler mit der Fehlermeldung:
Exception in thread "main" org.hibernate.MappingException: Unknown entity: lookuplanganguemodel.persitence.LookupData
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:547)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1331)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:96)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:537)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:525)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:521)
at lookuplanganguetest.bean.TestLookup.save(TestLookup.java:28)
at lookuplanganguetest.bean.Test.main(Test.java:15)
Was mache ich hier Falsch?