시동시 JPA 2.1 eclipselink를 사용하여 데이터베이스에 액세스하려고합니다. 그것이 실행되면 콘솔 로그에서 로그인에 성공하지만 테이블이나 뷰가 발생합니다. 그러나, 내가 휴식 서비스를 통해 서블릿에 내 DAO를 호출하면, 모든 게 잘 실행됩니다. 내가 놓친 게 있니? 당신이 당신의 빈 초기화 후가 호출되도록하려는 경우,시동시 싱글 톤에서 JPA 사용
public abstract class BaseDao{
@PersistenceContext(unitName = "myUnit")
protected EntityManager em;
pubic void create(Object entity);
public Ojbect get();
}
@Stateless
public class MyDaoService extends BaseDao{
@Override
public void create(Object entity){
this.em.persit(entity);
}
...
}
@Singleton
@Startup
public class MySingleton{
@EJB
private MyDaoService service;
@Schedule(hours="*", minutes="*", seconds="*/30")
public void doSomething(){
MyEntity entity = new MyEntity();//assumed I have entity object
entity.setFirstName("firstName");
entity.setLastName("lastName");
service.create(entity); //>>>Table or view does not exist exception
}
}
하기 전에 설정해야합니다. 내 데이터 소스는 프록시 인증을 사용하며 프로그램이 자동으로 실행되고 사용자와 연결되어 있지 않으므로 나는 그것이 문제라고 생각한다. EntityManager에 사용자 이름과 암호를 삽입하는 방법이 있는지 잘 모릅니다. – SpyClown