JSF mit EJB3 verwursten ...

acronym

Mitglied
Hallo Leute ...

ich schreibe ein kleines Testprogramm. Möchte eigentlich nur per knopfdruck Daten in eine DB packe und dann auf einer JSF_JSP-Seite auslesen.
Bekomme javax.ejb.EJBException: java.lang.ClassCastException: [Ljava.lang.String; im JBoss.

JSP
Code:
<h:commandButton action="#{navigationBean.getAlleRechner}" id="bitte"></h:commandButton>

BackingBean
Code:
public String getAlleRechner() {	
		
			try {				 
				InitialContext ctx = new InitialContext();
				FuellLocal dbfull = (FuellLocal) ctx.
				lookup("FuellBean");
				dbfull.erzeugeEntity();
				ctx.close();								
				
			} catch (NamingException e) {
				e.printStackTrace();
			}		
		return "success";
	}

StatelessBean
Code:
public void erzeugeEntity (){
		String[] string1 = {"a","b","c"};
		ControlEntity2 entity = new ControlEntity2();
		entity.setRechnername("Bla1");
		entity.setNewProcesses(string1);
		entity.setPolicy("stop");
		entity.setTimestamp(TimeHandler.getTime());
		
		String[] string2 = {"d","e","f"};
		ControlEntity2 entity2 = new ControlEntity2();
		entity2.setRechnername("Bla2");
		entity2.setNewProcesses(string2);
		entity2.setPolicy("stop");
		entity2.setTimestamp(TimeHandler.getTime());
		
		em.persist(entity);
		em.persist(entity2);
		em.close();
		
	}

Fehlermeldung JBoss
Code:
javax.faces.FacesException: #{navigationBean.getAlleRechner}: javax.ejb.EJBException: java.lang.ClassCastException: [Ljava.lang.String;
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
	javax.faces.component.UICommand.broadcast(UICommand.java:383)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

java.lang.ClassCastException: [Ljava.lang.String;
	org.hibernate.type.StringClobType.nullSafeSet(StringClobType.java:56)
	org.hibernate.type.CustomType.nullSafeSet(CustomType.java:146)
	org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:1997)
	org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:1974)
	org.hibernate.persister.entity.AbstractEntityPersister$3.bindValues(AbstractEntityPersister.java:2152)
	org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:32)
	org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)
	org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)
	org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
	org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
	org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
	org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
	org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
	org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
	org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
	org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
	org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
	org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
	org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
Es wäre eine schöne Sache, wenn da jemand einen Tip hätte, falls ich mich dumm anstelle sagt es bitte durch die Blume :)
 
...
der Fehler lag an der Methode im Stateless...weiß aber nicht wirklich warum.

jetzt habe ich

javax.servlet.ServletException: #{navigationBean.getAlleRechner}: javax.ejb.EJBException: java.lang.IllegalStateException: Illegal to call this method from injected, managed EntityManager
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 

Neue Beiträge

Zurück