0
entitybean과 entitybean을 통해 DB에 레코드를 만들려고 할 때이 문제가 발생했습니다. 코드가EntityManager 식별자 생성 예외입니까?
identifier generation excepton: ids for this class must be manully assigned before calling save(): gmartinc.swe645.common.entitybeans.user
내가 사용하는 SQL 문 아래에 주어진 : 나는 UserManagerImpl.java의 두 가지 방법을 가지고, 이상한 것은 findalluser 방법은 잘 작동 하나를 만들 제이 보스-7 콘솔에서 다음과 같은 예외를 throw이다 MySql에 테이블을 만들려면
create table users(
userid varchar(100) primary key,
firstname varchar(100),
lastname varchar(100),
group varchar(100),
team varchar(100)
);
and the Entitybean to map this table is
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "users")
public class user implements Serializable {
private String userid;
private String firstname;
private String lastname;
private String password;
private String team;
@Id
@Column(name="userid")
public String getUserId() {
return userid;
}
public void setUserId(String id) {
this.userid = id;
}
@Column(name="firstname")
public String getFirstName() {
return firstname;
}
public void setFirstName(String firstName) {
this.firstname = firstName;
}
@Column(name = "lastname")
public String getLastName() {
return lastname;
}
public void setLastName(String lastName) {
this.lastname = lastName;
}
@Column(name = "password")
public String getPassWord() {
return password;
}
public void setPassWord(String password) {
this.password = password;
}
@Column(name = "team")
public String getTeam() {
return team;
}
public void setTeam(String team) {
this.team = team;
}
}
and the UserManagerImpl.java is
import java.util.List;
import javax.ejb.Stateless;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateless
public class UserManagerImpl implements UserManagerRemote {
@PersistenceContext(unitName = "Swe645University")
private EntityManager entityManager;
public void createUser(user us) {
entityManager.persist(us);
}
public List<user> findUser() {
Query q = entityManager.createQuery(" from user p ");
return q.getResultList();
}
}
무엇이 잘못되었는지 미리 감사드립니다.
하지만 @Generator를 추가하면 시간 초과가 발생하여 내 테이블이 시퀀스 테이블이되어야한다는 뜻입니까? 그렇다면 시퀀스 테이블을 만드는 올바른 구문은 무엇입니까? – user899628