pessoal… estou programando um sisteminha aqui e ontem começou a dar um erro…
Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:209)
at br.com.pig.view.ProjetoInternal.initComponents(ProjetoInternal.java:42)
gostaria de saber o que significa, eu não sachei ele…
a minha consulta SQL está igual ao do arquivo bean…
bem, se alguém já teve esse erro, e puder me ajudar, agradeceria e muito… e mais ainda o meu tcc (que é o sisteminha, hehehe)
posta o método onde ta dando o erro
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();
entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("PIG1PU").createEntityManager();
query = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT p FROM Projeto p");
é nesse trecho de código acima que está dando o erro. Esse é o meu cadatsro de projeto. Mas no cadastro de clientes, o qual eu uso um código semelhante, funciona sem problema nenhum:
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();
entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("PIG1PU").createEntityManager();
query = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT c FROM Cliente c");
não sei se pode ser um Bug do NetBean 6.7.1, que é onde estou desenvolvendo.
Para visualizar o código-fonte da classe EntityManagerImpl, clique aqui.
Implementação do método createQuery:
197: /**
198: * Create an instance of Query for executing an
199: * EJBQL query.
200: * @param ejbqlString an EJBQL query string
201: * @return the new query instance
202: */
203: public Query createQuery(String ejbqlString) {
204:
205: try {
206: verifyOpen();
207:
208: EJBQueryImpl ejbqImpl;
209:
210: try {
211: ejbqImpl = new EJBQueryImpl(ejbqlString, this );
212: }
213:
214: catch (EJBQLException ex) {
215: throw new IllegalArgumentException(
216: ExceptionLocalization
217: .buildMessage("wrap_ejbql_exception"),
218: ex);
219: }
220:
221: return ejbqImpl;
222: } catch (RuntimeException e) {
223: this .transaction.setRollbackOnlyInternal();
224: throw e;
225: }
226: }
Certamente não é um problema do NetBeans, pois a Exception está implementada no fonte, e também porque este não interfere na execução do seu programa.
A sua Exception está sendo disparada na linha 215, tendo sido originada na linha 211. É muito provável que deva-se a um erro no seu SELECT.