Grüsst euch,
ich habe ein denk ich recht einfaches Problem, zu dem ich gerade aber keine Lösung finde.
Ich möchte einen bestimmten Datensatz updaten.
Auf auswahlid steht die ID des vom Nutzer gewählten Datensatzes.
Wenn ich nur text und zahl update funktioniert es tadellos. Sobald ich aber noch einen dritten Wert updaten will kommt ein Fehler.
org.hibernate.QueryException: could not resolve property: f_id_a_sb of: db.Vor_tbspiel_t [update db.Vor_tbspiel_t tbspiel set tbspiel.text255 = ?, tbspiel.zahl6=?, tbspiel.f_id_a_sb=?, tbspiel.dat_a=? where tbspiel.id = ?]
Muss ich bei der querylanguage da irgendwas beachten, wenn ich mehr als 2 Werte updaten möchte?
EDIT:
Nun habe ich es mal nur mit zahl und usid probiert und es kommt dergleiche Fehler. Also liegt es doch nicht an der Anzahl der Updates.
Aber eigentlich ist alles richtig festgelegt in der Java-Klasse.
usid ist auch belegt, da ich es mir vorher sogar ausgeben lasse. Diese soll eben dann in die Spalte f_id_a_sb geschrieben werden.
Vor_tbspiel_t.java:
Und die cfg.xml:
grüsse
ich habe ein denk ich recht einfaches Problem, zu dem ich gerade aber keine Lösung finde.
Ich möchte einen bestimmten Datensatz updaten.
Java:
session = HibernateSessionFactory.getSession();
tr = session.beginTransaction();
SString statement = "update Vor_tbspiel_t tbspiel set tbspiel.text255 = ?, tbspiel.zahl6=?, tbspiel.f_id_a_sb=? tbspiel.datum_a=? where tbspiel.id = ?";
int updatedEntities = session.createQuery( statement )
.setString(0, text)
.setInteger(1,zahl)
.setInteger(2,usid)
// .setString(3, zeit)
.setInteger(3, auswahlid)
.executeUpdate();
tr.commit();
Auf auswahlid steht die ID des vom Nutzer gewählten Datensatzes.
Wenn ich nur text und zahl update funktioniert es tadellos. Sobald ich aber noch einen dritten Wert updaten will kommt ein Fehler.
org.hibernate.QueryException: could not resolve property: f_id_a_sb of: db.Vor_tbspiel_t [update db.Vor_tbspiel_t tbspiel set tbspiel.text255 = ?, tbspiel.zahl6=?, tbspiel.f_id_a_sb=?, tbspiel.dat_a=? where tbspiel.id = ?]
Muss ich bei der querylanguage da irgendwas beachten, wenn ich mehr als 2 Werte updaten möchte?
EDIT:
Nun habe ich es mal nur mit zahl und usid probiert und es kommt dergleiche Fehler. Also liegt es doch nicht an der Anzahl der Updates.
Aber eigentlich ist alles richtig festgelegt in der Java-Klasse.
usid ist auch belegt, da ich es mir vorher sogar ausgeben lasse. Diese soll eben dann in die Spalte f_id_a_sb geschrieben werden.
Vor_tbspiel_t.java:
Java:
package db;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="vor_tbspiel_t")
public class Vor_tbspiel_t {
private Integer id;
private String text255;
private Integer zahl6;
private Integer f_id_a_sb;
private String datum_a;
private Integer f_id_c_sb;
private String datum_c;
private String sessionid;
public Vor_tbspiel_t() {
}
@Id
@GeneratedValue
@Column(name="ID")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="TEXT255")
public String getText255() {
return text255;
}
public void setText255(String text255) {
this.text255 = text255;
}
@Column(name="ZAHL6")
public Integer getZahl6() {
return zahl6;
}
public void setZahl6(Integer zahl6) {
this.zahl6 = zahl6;
}
@Column(name="F_ID_A_SB")
public Integer getF_id_a_sb() {
return f_id_a_sb;
}
public void setF_id_a_sb(Integer f_id_a_sb) {
this.f_id_a_sb = f_id_a_sb;
}
@Column(name="DAT_A")
public String getDatum_a() {
return datum_a;
}
public void setDatum_a(String datum_a) {
this.datum_a = datum_a;
}
@Column(name="F_ID_C_SB")
public Integer getF_id_c_sb() {
return f_id_c_sb;
}
public void setF_id_c_sb(Integer f_id_c_sb) {
this.f_id_c_sb = f_id_c_sb;
}
@Column(name="DAT_C")
public String getDatum_c() {
return datum_c;
}
public void setDatum_c(String datum_c) {
this.datum_c= datum_c;
}
@Column(name="SESSIONID")
public String getSessionid() {
return sessionid;
}
public void setSessionid(String sessionid) {
this.sessionid = sessionid;
}
}
Und die cfg.xml:
Java:
<session-factory>
<property name="connection.username">system</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.password">adminadmin</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="c3p0.acquire_increment">1</property>
<property name="c3p0.idle_test_period">27000</property>
<property name="c3p0.max_size">10</property>
<property name="c3p0.max_statements">0</property>
<property name="c3p0.min_size">1</property>
<property name="c3p0.timeout">100</property>
<property name="show_sql">true</property>
<mapping class="db.Vor_anwender_t" />
<mapping class="db.Vor_tbspiel_t" />
</session-factory>
grüsse
Zuletzt bearbeitet: