Hibernate INSERT Problem

Status
Nicht offen für weitere Antworten.

SilentJ

Bekanntes Mitglied
Moin,

Hibernate wirft bei mir folgende Fehlermeldung aus:
Code:
org.hibernate.HibernateException: could not determine type of dynamic entity

Ich habe zuvor eine hbm.xml-Datei mit folgendem Inhalt erstellt (in Auszügen):

Code:
<hibernate-mapping auto-import="true" >
	<class name="de.infobench.data.RegularUser"
	entity-name="User" table="regularuser">
		
		<id name="id" unsaved-value="0">
			<generator class="native" />
		</id>
		
		
		<property 
			name="username" 
			column="username" 
			type="string" 
			length="20"
			not-null="true"
		/>

Zum Anlegen eines neuen Datensatzes habe ich folgenden Code geschrieben:

Code:
public RegularUser save(RegularUser ru)
	{
		logger.info("BENUTZER SPEICHERN.");
		Session s = null;
		Transaction tx = null;
		try{
		s = getSessionFactory().openSession();
		tx = s.beginTransaction();
		
		Map newUser = new HashMap();
		newUser.put("username", ru.getUsername());
		newUser.put("password", ru.getPassword());
		newUser.put("title", ru.getTitle());
		newUser.put("firstname", ru.getFirstname());
		newUser.put("name", ru.getName());
		newUser.put("email", ru.getEmail());
		newUser.put("defaultOE", ru.getDefaultOE());
		newUser.put("active", ru.isActive());
		logger.info("USER wird gespeichert");
		s.save(newUser);
		tx.commit();
		
		}catch(HibernateException ex){
			convertHibernateAccessException(ex);
			logger.warn("FEHLER:" + ex);
		}
                ...

Ich weiß nicht, wo der Fehler liegt, für Tipps wäre ich sehr dankbar.

Michael
 

DreamArtist

Bekanntes Mitglied
Hallo,

du gibst im Mapping-File an das du den Typ de.infobench.data.RegularUser speichern willst.

in der Methode
Code:
public RegularUser save(RegularUser ru)

versucht du aber eine HashMap zu speichern --> s.save(newUser) --> newUser = HashMap.

Daher bekommst du von Hibernate den Fehler.

statt newUser.put(Object,Object) nimm ru.setXX.

zum Schluss ruf die Methode s.save(ru auf).

lg Peter
 

SilentJ

Bekanntes Mitglied
Hallo Peter,

vielen Dank für deine Antwort. Ich bin jetzt ein Stück weiter.

In meinem Log taucht nun leider aber eine
Code:
org.hibernate.MappingException: Unknown entity: de.infobench.data.RegularUser
Exception auf. Ich habe doch alles definitiert. Verdammte Kiste.

:(
 

DreamArtist

Bekanntes Mitglied
Zum einen wenn nicht nötig entity-name="User" im mapping-File entfernen.
Als zweites würde ich den package namen "de.infobench.data.RegularUser" überprüfen

lg Peter
 
S

SlaterB

Gast
selber von Null auf irgendwelchen Kram zusammenzuschreiben ist selten sinnvoll,
warum hat dein Objekt eigentlich 8 Attribute oder noch mehr?
würde nicht eins reichen um erstmal zu testen ob es überhaupt geht?

aber es macht ja in jeder Hinsicht keinen Sinn, das selber zu versuchen,
probiere bitte vorher ein Tutorial

http://www.laliluna.de/first-hibernate-example-tutorial.html

wenn das auch nicht bei dir läuft,
ok, dann kann überlegen, aber dann ist zumindest die Wahrscheinlichkeit irgendwelcher Tippfehler kleiner,

wenn es läuft dann ist alles in Butter,
dann muss du nur nach und nach Tabellen- und Attributnamen ändern, bis es irgendwann wie deins aussieht
 

SilentJ

Bekanntes Mitglied
Hallo Peter,

jetzt funktioniert es, nur ist jetzt das Problem, dass ich anscheinend bei MySQL nicht mit dem Boolean-Datentyp arbeiten kann. :x

Wenn ich in der Administrationsoberfläche für das Feld active Boolean einstellen möchte, macht mir der MySQL-Administrator daraus TINYINT(1).

Deshalb ist wahrscheinlich auch die Fehlermeldung zu erklären:

Code:
Incorrect integer value: 'T' for column 'active' at row 1

Also irgendwie verstehe ich nicht, warum ich keinen Boolean abspeichern kann.
 

DreamArtist

Bekanntes Mitglied
kannst du schon, musst du nur im Mapping-File auch als solches kennzeichnen.

Bsp.
Code:
<property   name="prop"
                type="true_false" >
        <column name="prop"  length="1" />
</property>

lg Peter
 

SilentJ

Bekanntes Mitglied
Hallo Peter,

das funktioniert nicht bei mir, ich erhalte immer noch die gleiche Fehlermeldung.

Code:
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

Das obrige Code-Fragment dürfte keine Rolle spielen - oder muss ich explizit MySQLInnoDialect angeben?

Vielen Dank für die bisherigen Tipps

Michael
 

SilentJ

Bekanntes Mitglied
Übrigens active ist in meiner Klasse als

Code:
private boolean active
deklariert.

In der hbm.xml sieht es so aus:

Code:
		<property 
			name="active" 
			type="true_false">
			<column name="active" length="1"></column>
		</property>
 

KSG9|sebastian

Top Contributor
warum length=1? also wenn ich boolean's abgespeichert hab hat alles wunderbar geklappt..und mysql macht daraus dann eben nen tinyint...
 
S

soulinthemachine

Gast
Just to say 'danke' as I had the same problem with

"could not determine type of dynamic entity"

and that your post (with help of google translate) solved it.

For other english speakers out there, it's caused by entities implementing java.util.Map. This confuses hibernate and causes it to throw this error when Session.save() is called. Remove 'implements Map' and everything works fine.
 

KSG9|sebastian

Top Contributor
Warum überhaupt einen Typ angeben? Hibernate müsste das auch so kapieren.
Sonst versuch mal mit Objekten zu arbeiten udn gib als Typ java.lang.Boolean an.
Dürfte aber eigenltich kein Problem geeben..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
O Hibernate Fehlermeldung bei start des Servers Allgemeines EE 2
E Frage zu Wildfly und Hibernate OGM Allgemeines EE 0
S Frage zu Jersey + Hibernate Allgemeines EE 1
D GWT mit Hibernate und Sql Datenbank Allgemeines EE 2
B Wicket, Hibernate, H2 memDB Anfänger Frage Allgemeines EE 2
H Hibernate - OneToMany - mappedBy reference an unknown target entity property Allgemeines EE 1
A Hibernate endlich zu Laufen bekommen... Allgemeines EE 11
A Erste Schritte... Problem mit Hibernate Allgemeines EE 15
LadyMilka Ablaufdiagramm mit/ohne Hibernate Allgemeines EE 2
P Mit JAXB erzeugte Klassen persistieren (Hibernate) Allgemeines EE 10
K Anfänger: Hibernate + Web Allgemeines EE 2
T Hibernate 3 + EJB 3 + JBoss 5 Allgemeines EE 6
G Persistenz mit Hibernate oder J2EE? Allgemeines EE 11
C Hibernate - Expression.or Allgemeines EE 4
D Erst Spring oder erst Hibernate lernen? Allgemeines EE 2
D Java EE vs. Spring/Hibernate Allgemeines EE 26
Y myFaces und Hibernate Session Handling Allgemeines EE 7
W Speicher-Problem bei WebApp unter Tomcat, Struts, Hibernate Allgemeines EE 3
byte Remote Lazy Loading mit Spring und Hibernate Allgemeines EE 5
G JSF, Hibernate, Spring --> Struktur Allgemeines EE 2
F [Hallo] Frage zu Hibernate Mapping und Vererbung Allgemeines EE 3
G JSF | Hibernate | MySQL Allgemeines EE 17
G Hibernate: org.hibernate.TransactionException Allgemeines EE 4
F org.hibernate.LazyInitializationException: failed to lazily Allgemeines EE 8
J nur bestimmte Mapping-Dateien berücksichtigen (Hibernate) Allgemeines EE 14
S Hibernate EJB3 Allgemeines EE 2
E JBoss Hibernate Datenbank-Timeout Allgemeines EE 3
S Hibernate, Tomcat und Eclipse treiben mich zum Wahnsinn. Allgemeines EE 2
2 hibernate - createQuery() Allgemeines EE 9
T Hibernate die richtige Wahl? Allgemeines EE 2
M JSF mit Hibernate Allgemeines EE 14
W Hibernate *.Jar's im Klassenpfad Allgemeines EE 10
M Tomcat, Hibernate, MySQL und die EOFException Allgemeines EE 7
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
E JSF, Hibernate & MySQL: Keine Datenbankaktualisierung Allgemeines EE 5
M mit Hibernate 1:n in view richtige implementieren Allgemeines EE 3
M Hibernate Criteria frage Allgemeines EE 2
A Speicherproblem bei Webanwendung mit Hibernate und Stuts Allgemeines EE 6
A Hibernate-Problem mit MySQL-Cluster Allgemeines EE 6
S Fragen zu: Servlets, Struts & Hibernate Allgemeines EE 9
E JOINS und Hibernate? Allgemeines EE 3
S Hibernate Mapping Problem Allgemeines EE 3
S Java Enum in MySQL und Hibernate Allgemeines EE 3
R Hibernate: many-to-many funktioniert noch nicht ganz Allgemeines EE 2
D Hibernate hql suche Date Allgemeines EE 9
B JSF + Hibernate How2 Allgemeines EE 2
G [JSF+Hibernate]: DB-Constraints in Validierungsphase? Allgemeines EE 4
P struts Hibernate MySQL Select Statement Allgemeines EE 24
G JTA ja/nein & wie (JBoss & Hibernate & Transakti Allgemeines EE 3
T Hibernate & Logging in Log4J Allgemeines EE 4
T JSTL + Struts (inkl.Hibernate) -> forEach Problem Allgemeines EE 6
G Persistenz-Entscheidung (Entity Beans, Hibernate, JDBC) Allgemeines EE 12
S Hibernate 2.x mit Eclipse 2.1 Allgemeines EE 16
ichbindiegute Performance von Entity Bean create vs. JDBC insert Allgemeines EE 11
S Netbeans 5.5 Visual Web Pack Problem mit INSERT und PK Allgemeines EE 4
F MyFaces und Tiles: <tiles:insert> wird nicht erkannt Allgemeines EE 10
D Problem mit Update von ApacheHttpClient von 5.2 auf 5.3 Allgemeines EE 10
D Problem mit redundanten Servern Allgemeines EE 7
Azemaria JSF: Problem bei der einfachsten Applikation Allgemeines EE 2
P JPA Internal Problem Nullpointer Allgemeines EE 10
S MessageDrivenBean Problem beim Zugriff auf Stateful EJB Allgemeines EE 2
M Glassfish Deployment-Problem unter Eclipse Allgemeines EE 0
B Problem beim Lesen des Codes... Allgemeines EE 2
R JPA Problem beim Speichern eines Users Allgemeines EE 2
S WebSocket Problem Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
G Problem: Servlet in JSP einbinden mit <jsp:include> Allgemeines EE 3
Raidri [SEAM] rich:dataTable sortBy Problem Allgemeines EE 6
T Problem mit den Beispielen von Apache Allgemeines EE 5
W JSF Validator Problem HTTP Status 500 Allgemeines EE 2
E JBoss 7.1 Datasource Problem Allgemeines EE 2
M JSP Problem -unbestimmte Anzahl von Werten Transportieren Allgemeines EE 9
S Problem mit EJB Verständnis Allgemeines EE 4
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
F JSP Problem mit Datenbankanbindung über Glassfishserver Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
E Session Problem Allgemeines EE 9
F problem mit nullpointer bei DB zugriff Allgemeines EE 2
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
Stillmatic sendRedirect Problem! Allgemeines EE 3
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
0 Problem mit librarys javax.servlet.http.HttpServletRequest cannot be resolved Allgemeines EE 1
X JBoss InitialContext problem Allgemeines EE 5
LordZed Problem mit dem einbinden von Bibliotheken, die sich gegenseitig verwenden Allgemeines EE 5
H GWT Problem beim Ausführen Allgemeines EE 8
Q Problem mit JMS und Weblogic 10 Allgemeines EE 5
E Performance-Problem beim ersten Request Allgemeines EE 4
G Multi User Problem Allgemeines EE 8
G Datasource Problem Allgemeines EE 1
J OOP Java Array Problem Allgemeines EE 2
T Problem mit Java Transaction API Allgemeines EE 2
D Problem mit EJB: Bean soll Objekt eigener Klasse zurückgeben Allgemeines EE 2
N JavaMail Problem Allgemeines EE 4
N JBoss Problem mit Bibliothek in unterschiedlichen Versionen Allgemeines EE 2
A Tomcat -- JSP: komisches Problem Allgemeines EE 11
B Problem mit ActionListener Allgemeines EE 13
G Simples JSF-Projekt in Eclipse - Problem Allgemeines EE 9
O eclipse - tomcat: Problem bei einfachem Webservice Allgemeines EE 16

Ähnliche Java Themen

Neue Themen


Oben