Hi zusammen!
Ich nutze Oracle 10 und Hibernate 3.
Wenn ich über eine Query eine Abfrage starte, wird als Primary Key immer 0 zurückgeliefert.
Zum Beispiel
Mapping:
Kann mir jemand erklären, wieso?
Ich habe zwar gesehen, dass man die Id mit
auslesen kann, aber es kann doch nicht Sinn der ganzen Sache sein, immer diesen Umweg zu gehen?
Ich nutze Oracle 10 und Hibernate 3.
Wenn ich über eine Query eine Abfrage starte, wird als Primary Key immer 0 zurückgeliefert.
Zum Beispiel
Code:
Session session = factory.openSession();
List lstDbAlarm = session.createQuery("from Alarm").list();
Iterator itDbAlarm = lstDbAlarm.iterator();
while (itDbAlarm.hasNext())
{
Alarm alarm = (Alarm) itDbAlarm.next();
System.out.println("Alarm id = "+Al.getId()); // Immer 0
}
Mapping:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="de.database.Alarm" table="Alarm">
<id column="id" type="int">
<generator class="native"/>
</id>
<property name="text" column="text" type="string" />
</class>
</hibernate-mapping>
Code:
public class Alarm
{
public int id;
public String text;
public Alarm()
{
}
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getText()
{
return text;
}
public void setText(String text)
{
this.text = text;
}
}
Kann mir jemand erklären, wieso?
Ich habe zwar gesehen, dass man die Id mit
Code:
int id = Integer.parseInt(session.getIdentifier(alarm).toString());
Zuletzt bearbeitet: