Я прочитал статью здесь, но я не могу исправить мою проблему How to get Id of last persisted entity using JPAJava JPA получить идентификатор последнего сохранялось проблемы сущности
Я не могу получить последний автоматически увеличивается первичный ключ студента
Это из класс Servlet
if (operation.equalsIgnoreCase("Add")) {
student.setName(name);
student.setAddress(address);
int last = studentDAO.addStudent(student);
request.setAttribute("last", last);
request.setAttribute("student", student);
}
Это из сессионного компонента:
public int addStudent(Student student) {
em.persist(student);
em.flush();
System.out.println(student.getStudentID());
return student.getStudentID();
}
Я только что использовал sout, чтобы проверить, есть ли у меня ID
, но он всегда выводит 0
каждый раз, когда я добавляю student
. Я не могу получить последний сгенерированный id
. Любая помощь будет принята с благодарностью. Благодаря!
Редакция: Мой студент Класс:
пакета модель;
импорт javax.persistence. *;
@Entity
@Table
@NamedQueries({@NamedQuery(name="Student.getAll", query="Select e from Student e")})
public class Student {
@Id
@Column
private int studentID;
@Column
private String name;
@Column
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStudentID() {
return studentID;
}
public void setStudentID(int studentID) {
this.studentID = studentID;
}
public Student(int studentID, String name, String address) {
this.studentID = studentID;
this.name = name;
this.address = address;
}
public Student(){}
}
- Решенный! Ответил Питер, спасибо!
Уметете ли Вы, пожалуйста, свой студенческий класс? –
Кроме того, распечатайте stacktrace исключения, пожалуйста (должно произойти исключение, за исключением того, что вы делаете что-то элементарное неправильно (например, печатаете неправильную переменную)). –
Я добавил объект Student Class. – MLDS