@lob vraptor

alguém trabalha com imagem no vraptor, estou tentando achar um tópico que me ajudasse mais não achei, o banco é mysql

a Bean

@Entity
public class Administrador extends Pessoa {
public Administrador() {}
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private long idAdministrador;
	@Lob
	@Column(name="picture")
	private  byte[] picture;

	public long getIdAdministrador() {
		return idAdministrador;
	}

	public void setIdAdministrador(long idAdministrador) {
		this.idAdministrador = idAdministrador;
	}

	public byte[] getPicture() {
		return picture;
	}

	public void setPicture(byte[] picture) {
		this.picture = picture;
	}
}

o controller é:

@Controller
public class AdministradorController {

	@Inject
	private Result result;
	@Inject
	AdministradorDao administradorDao;
	
	public void administradorNovo(){}

	public void administradorGrava(UploadedFile picture)throws IOException {
	
			administradorDao.Salvar(picture);
			
			result.include("mensagem_sucesso", "ADM registado com sucesso!");
		result.redirectTo(this).administradorNovo();
	}

o DAO

public class AdministradorDao {
	
	@Inject
	private EntityManager em;

	public void Salvar(UploadedFile picture) {
		em.persist(picture);
	}

stacktrace

18:02:47,905 DEBUG [DefaultControllerTranslator] trying to access /administrador/administradorGrava
18:02:47,906 DEBUG [DefaultControllerTranslator] found controller [DefaultControllerMethod: public void controller.AdministradorController.administradorGrava(br.com.caelum.vraptor.observer.upload.UploadedFile) throws java.io.IOException]
18:02:47,908  INFO [CommonsUploadMultipartObserver] Request contains multipart data. Try to parse with commons-upload.
18:02:47,908 DEBUG [CommonsUploadMultipartObserver] Using repository C:\Users\ELLYSO~1.ALM\AppData\Local\Temp for file upload
18:02:47,908 DEBUG [CommonsUploadMultipartObserver] Setting file sizes: total=2097152, file=2097152
18:02:47,909 DEBUG [CommonsUploadMultipartObserver] Found 3 attributes in the multipart form submission. Parsing them.
18:02:47,909 DEBUG [CommonsUploadMultipartObserver] administrador.nome is a field
18:02:47,909 DEBUG [CommonsUploadMultipartObserver] administrador.endereco.rua is a field
18:02:47,910 DEBUG [CommonsUploadMultipartObserver] picture is a file
18:02:47,910 DEBUG [VRaptorRequest      ] Setting picture with [picture]
18:02:47,910 DEBUG [CommonsUploadMultipartObserver] Uploaded file: picture with UploadedFile[name=circulo_azul.png]
18:02:47,911 DEBUG [VRaptorRequest      ] Setting administrador.nome with []
18:02:47,911 DEBUG [VRaptorRequest      ] Setting administrador.endereco.rua with []
18:02:47,911 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class controller.AdministradorController
18:02:47,911 DEBUG [CDIBasedContainer   ] beans for class controller.AdministradorController is [Managed Bean [class controller.AdministradorController] with qualifiers [@Any @Default]]
18:02:47,912 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void controller.AdministradorController.administradorGrava(br.com.caelum.vraptor.observer.upload.UploadedFile) throws java.io.IOException as [picture]
18:02:47,912 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void controller.AdministradorController.administradorGrava(br.com.caelum.vraptor.observer.upload.UploadedFile) throws java.io.IOException as [picture]
18:02:47,913 DEBUG [IogiParametersProvider] IogiParametersProvider is up
18:02:47,913 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void controller.AdministradorController.administradorGrava(br.com.caelum.vraptor.observer.upload.UploadedFile) throws java.io.IOException as [picture]
18:02:47,914 DEBUG [IogiParametersProvider] getParametersFor() called with parameters Parameters(Parameter(administrador.endereco.rua -> ), Parameter(administrador.nome -> ), Parameter(picture -> picture)) and targets [Target(name=picture, type=interface br.com.caelum.vraptor.observer.upload.UploadedFile)].
18:02:47,915  WARN [JstlLocalization    ] couldn't find message bundle, creating an empty one
java.util.MissingResourceException: Can't find bundle for base name messages, locale pt_BR
	at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
	at java.util.ResourceBundle.getBundleImpl(Unknown Source)
	at java.util.ResourceBundle.getBundle(Unknown Source)
	at br.com.caelum.vraptor.core.JstlLocalization.extractUnsafeBundle(JstlLocalization.java:78)
	at br.com.caelum.vraptor.core.JstlLocalization.getBundle(JstlLocalization.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstance(MethodInjectionPoint.java:86)
	at org.jboss.weld.injection.producer.ProducerMethodProducer.produce(ProducerMethodProducer.java:96)
	at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:151)
	at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:183)
	at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:733)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:789)
	at org.jboss.weld.injection.ParameterInjectionPointImpl.getValueToInject(ParameterInjectionPointImpl.java:76)
	at org.jboss.weld.injection.ConstructorInjectionPoint.getParameterValues(ConstructorInjectionPoint.java:138)
	at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:68)
	at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
	at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:85)
	at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:183)
	at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149)
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
	at br.com.caelum.vraptor.validator.DefaultValidator$Proxy$_$$_WeldClientProxy.addAll(Unknown Source)
	at br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:91)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
	at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
18:02:47,948 DEBUG [ParametersInstantiator] Conversion errors: []
18:02:47,949 DEBUG [ParametersInstantiator] Parameter values for [DefaultControllerMethod: public void controller.AdministradorController.administradorGrava(br.com.caelum.vraptor.observer.upload.UploadedFile) throws java.io.IOException] are [UploadedFile[name=circulo_azul.png]]
18:02:47,949 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor
18:02:47,949 DEBUG [CDIBasedContainer   ] beans for class br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor is [Managed Bean [class br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor] with qualifiers [@Any @Default]]
18:02:47,950 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ExceptionHandlerInterceptor$Proxy$_$$_WeldClientProxy
18:02:47,950 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class br.com.caelum.vraptor.jpa.JPATransactionInterceptor
18:02:47,950 DEBUG [CDIBasedContainer   ] beans for class br.com.caelum.vraptor.jpa.JPATransactionInterceptor is [Managed Bean [class br.com.caelum.vraptor.jpa.JPATransactionInterceptor] with qualifiers [@Any @Default]]
18:02:47,950 DEBUG [AspectStyleInterceptorHandler] Invoking interceptor JPATransactionInterceptor$Proxy$_$$_WeldClientProxy
18:02:47,950 DEBUG [CDIBasedContainer   ] asking cdi to get instance for interface br.com.caelum.vraptor.interceptor.SimpleInterceptorStack
18:02:47,950 DEBUG [CDIBasedContainer   ] beans for interface br.com.caelum.vraptor.interceptor.SimpleInterceptorStack is [Managed Bean [class br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack] with qualifiers [@Any @Default]]
18:02:48,040 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class br.com.caelum.vraptor.interceptor.FlashInterceptor
18:02:48,041 DEBUG [CDIBasedContainer   ] beans for class br.com.caelum.vraptor.interceptor.FlashInterceptor is [Managed Bean [class br.com.caelum.vraptor.interceptor.FlashInterceptor] with qualifiers [@Any @Default]]
18:02:48,041 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor FlashInterceptor$Proxy$_$$_WeldClientProxy
18:02:48,042 DEBUG [ExecuteMethod       ] Invoking public void controller.AdministradorController.administradorGrava(br.com.caelum.vraptor.observer.upload.UploadedFile) throws java.io.IOException
18:02:48,059 DEBUG [DefaultExceptionMapper] find for exception class java.lang.IllegalArgumentException
mar 14, 2016 6:02:48 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/site] threw exception
br.com.caelum.vraptor.InterceptionException: java.lang.IllegalArgumentException: Unknown entity: br.com.caelum.vraptor.observer.upload.CommonsUploadedFile
	at br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:69)
	at br.com.caelum.vraptor.interceptor.StepInvoker.tryToInvoke(StepInvoker.java:55)
	at br.com.caelum.vraptor.interceptor.StepInvoker$Proxy$_$$_WeldClientProxy.tryToInvoke(Unknown Source)
	at br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75)
	at br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$_$$_WeldClientProxy.executeAround(Unknown Source)
	at br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:85)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:75)
	at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:71)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:68)
	at br.com.caelum.vraptor.core.Try.run(Try.java:18)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.executeSafely(ToInstantiateInterceptorHandler.java:68)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:61)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:93)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
	at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Unknown entity: br.com.caelum.vraptor.observer.upload.CommonsUploadedFile
	at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1149)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:40)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
	at org.jboss.weld.proxies.EntityManager$1201836808$Proxy$_$$_WeldClientProxy.persist(Unknown Source)
	at dao.AdministradorDao.Salvar(AdministradorDao.java:25)
	at controller.AdministradorController.administradorGrava(AdministradorController.java:32)
	at controller.AdministradorController$Proxy$_$$_WeldClientProxy.administradorGrava(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
	at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
	at br.com.caelum.vraptor.core.DefaultReflectionProvider.invoke(DefaultReflectionProvider.java:42)
	at br.com.caelum.vraptor.core.DefaultReflectionProvider$Proxy$_$$_WeldClientProxy.invoke(Unknown Source)
	at br.com.caelum.vraptor.observer.ExecuteMethod$1.call(ExecuteMethod.java:82)
	at br.com.caelum.vraptor.observer.ExecuteMethod$1.call(ExecuteMethod.java:72)
	at br.com.caelum.vraptor.core.Try.run(Try.java:18)
	at br.com.caelum.vraptor.observer.ExecuteMethod.execute(ExecuteMethod.java:72)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:78)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:98)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:71)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:68)
	at br.com.caelum.vraptor.core.Try.run(Try.java:18)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.executeSafely(ToInstantiateInterceptorHandler.java:68)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:61)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.next(Unknown Source)
	at br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack.next(DefaultSimpleInterceptorStack.java:49)
	at br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack$Proxy$_$$_WeldClientProxy.next(Unknown Source)
	at br.com.caelum.vraptor.jpa.JPATransactionInterceptor.intercept(JPATransactionInterceptor.java:73)
	at br.com.caelum.vraptor.jpa.JPATransactionInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
	at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
	at br.com.caelum.vraptor.core.DefaultReflectionProvider.invoke(DefaultReflectionProvider.java:42)
	at br.com.caelum.vraptor.core.DefaultReflectionProvider$Proxy$_$$_WeldClientProxy.invoke(Unknown Source)
	at br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:64)
	... 49 more

Bom dia,

Voce deve salvar um objeto do tipo Administrador e nao UploadedFile.

Altere o metodo salvar para:

public void salvar(Administrador adm) {
		em.persist(adm);
	}

e dentro do controller, faça as mudanças para passar um Administrador

Obs.: metodos deve iniciar com letras minusculas.

mudei e nada adiantou

como ficou a nova implementacao?
Como o sistema é web, nao seria melhor voce salvar o caminho da imagem?

ficou assim agora:

modelo

@Entity
public class Administrador extends Pessoa {
	public Administrador() {}
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private long idAdministrador;
	@Lob
	@Column(name="picture")
	private byte[] picture;

	public long getIdAdministrador() {
		return idAdministrador;
	}

	public void setIdAdministrador(long idAdministrador) {
		this.idAdministrador = idAdministrador;
	}

	public byte[] getPicture() {
		return picture;
	}

	public void setPicture(byte[] picture) {
		this.picture = picture;
	}

}

Controller

@Controller
public class AdministradorController {

	@Inject
	private Result result;
	@Inject
	AdministradorDao administradorDao;

	public void administradorNovo(){}

	@Post("/administradorGrava")
	public void administradorGrava(Administrador administrador) throws IOException{
		    administradorDao.Salvar(administrador);
			result.include("mensagem_sucesso", "ADM registado com sucesso!");
			result.redirectTo(this).administradorNovo();
	}

	public void administradorLista(){
		result.include("administrador", administradorDao.ListaTodos());

}
	
}

Dao

public class AdministradorDao {
	
	@Inject
	private EntityManager em;

	public void Salvar(Administrador administrador) {
		em.persist(administrador);
	}

}

stack trace

16:50:11,143 DEBUG [DefaultControllerTranslator] trying to access /administradorGrava
16:50:11,144 DEBUG [DefaultControllerTranslator] found controller [DefaultControllerMethod: public void controller.AdministradorController.administradorGrava(modelo.Administrador) throws java.io.IOException]
16:50:11,144  INFO [CommonsUploadMultipartObserver] Request contains multipart data. Try to parse with commons-upload.
16:50:11,145 DEBUG [CommonsUploadMultipartObserver] Using repository C:\Users\ELLYSO~1.ALM\AppData\Local\Temp for file upload
16:50:11,145 DEBUG [CommonsUploadMultipartObserver] Setting file sizes: total=2097152, file=2097152
16:50:11,302 DEBUG [CommonsUploadMultipartObserver] Found 3 attributes in the multipart form submission. Parsing them.
16:50:11,302 DEBUG [CommonsUploadMultipartObserver] administrador.nome is a field
16:50:11,302 DEBUG [CommonsUploadMultipartObserver] administrador.endereco.rua is a field
16:50:11,302 DEBUG [CommonsUploadMultipartObserver] administrador.picture is a file
16:50:11,302 DEBUG [VRaptorRequest      ] Setting administrador.picture with [administrador.picture]
16:50:11,302 DEBUG [CommonsUploadMultipartObserver] Uploaded file: administrador.picture with UploadedFile[name=Koala.jpg]
16:50:11,302 DEBUG [VRaptorRequest      ] Setting administrador.nome with [a]
16:50:11,302 DEBUG [VRaptorRequest      ] Setting administrador.endereco.rua with [b]
16:50:11,303 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class controller.AdministradorController
16:50:11,303 DEBUG [CDIBasedContainer   ] beans for class controller.AdministradorController is [Managed Bean [class controller.AdministradorController] with qualifiers [@Any @Default]]
16:50:11,303 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void controller.AdministradorController.administradorGrava(modelo.Administrador) throws java.io.IOException as [administrador]
16:50:11,304 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void controller.AdministradorController.administradorGrava(modelo.Administrador) throws java.io.IOException as [administrador]
16:50:11,305 DEBUG [IogiParametersProvider] IogiParametersProvider is up
16:50:11,305 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void controller.AdministradorController.administradorGrava(modelo.Administrador) throws java.io.IOException as [administrador]
16:50:11,305 DEBUG [IogiParametersProvider] getParametersFor() called with parameters Parameters(Parameter(administrador.picture -> administrador.picture), Parameter(administrador.endereco.rua -> b), Parameter(administrador.nome -> a)) and targets [Target(name=administrador, type=class modelo.Administrador)].
16:50:11,306 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public modelo.Administrador() as []
16:50:11,306 DEBUG [DefaultConverters   ] found converter br.com.caelum.vraptor.converter.PrimitiveByteConverter to byte
16:50:11,306 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class br.com.caelum.vraptor.converter.PrimitiveByteConverter
16:50:11,306 DEBUG [CDIBasedContainer   ] beans for class br.com.caelum.vraptor.converter.PrimitiveByteConverter is [Managed Bean [class br.com.caelum.vraptor.converter.PrimitiveByteConverter] with qualifiers [@Any @Default]]
mar 15, 2016 4:50:11 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/site] threw exception
br.com.caelum.vraptor.http.InvalidParameterException: Exception when trying to instantiate Target(name=administrador, type=class modelo.Administrador)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:124)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:126)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:118)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:110)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator$Proxy$_$$_WeldClientProxy.instantiate(Unknown Source)
	at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:87)
	at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:80)
	at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:72)
	at br.com.caelum.vraptor.http.iogi.IogiParametersProvider$Proxy$_$$_WeldClientProxy.getParametersFor(Unknown Source)
	at br.com.caelum.vraptor.observer.ParametersInstantiator.getParametersForCurrentMethod(ParametersInstantiator.java:149)
	at br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:89)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
	at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException
	at java.lang.reflect.Array.set(Native Method)
	at br.com.caelum.iogi.collections.ArrayInstantiator$ArrayFactory.getArray(ArrayInstantiator.java:47)
	at br.com.caelum.iogi.collections.ArrayInstantiator.instantiate(ArrayInstantiator.java:28)
	at br.com.caelum.vraptor.http.iogi.ArrayAdapter.instantiate(ArrayAdapter.java:47)
	at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:116)
	at br.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:58)
	at br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:52)
	at br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:42)
	at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30)
	at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:116)
	... 56 more

Para fazer um upload pelo vraptor, voce deve receber um UploadedFile, ou seja, seu controller estava certo.
O UploadedFile é um inputStream.

O problema no controller é que:

public void administradorGrava(UploadedFile picture)throws IOException {
	
			//administradorDao.Salvar(picture);// isso aqui nao vai funcionar
                         Administrador adm = new Administrador();
                         adm.setPicture();//voce tem que pegar o picture e transformar em byte e setar aqui
                         administradorDao.Salvar(adm);
			
			result.include("mensagem_sucesso", "ADM registado com sucesso!");
		result.redirectTo(this).administradorNovo();
	}

também fiz assim e nada, vc tem um exemplo pronto. de jpa que grava arquivo.

Voce esta transformando o inputstream em Byte?

veja o link para fazer isso.

Ola Ellyson, o colega Campelo esta certo, converta para um byte array, particularmente eu também não deixaria a propriedade da imagem diretamente no bean, eu teria um bean só para ela, assim evitaria hit desnecessário no database, também senti falta de uma camada de servio, para separar mais as responsábilidades, ex:

@Controller
public class AdministradorController {

@Inject
private Result result;
@Inject
AdministradorDao administradorDao;

public void administradorNovo(){}

public void administradorGrava(UploadedFile photo)throws IOException {
		administradorDao.Salvar(photo.getFile(), photo.getFileName(), photo.getContentType(), photo.getSize());			
		result.include("mensagem_sucesso", "ADM registado com sucesso!");
	result.redirectTo(this).administradorNovo();
}`

public class AdministradorDao {

@Inject
private EntityManager em;

   @Inject
   private final Image image;

public void Salvar(InputStream photoInputstream, String name, String contentType, Long size) {
        byte[] imageBytes = null;
        BufferedImage bufferImage = null;

        try {
            imageBytes = IOUtils.toByteArray(photoInputstream);
            InputStream in = new ByteArrayInputStream(imageBytes);
            bufferImage = ImageIO.read(in);
        } catch (IOException e) {
            e.printStackTrace();
        }

        image.setContentType(ContentType.fromString(contentType));
        image.setFullBlob(imageBytes);
        image.setHeight(bufferImage.getHeight());
        image.setLength(size);
        image.setName(name); 
             em.persist(image);
	}

exemplo da classe Imagem

Lembrando que no form tem o multipart/form-data:
<form role="form" action="${pageContext.request.contextPath}/cadContact" method="post" id="formcadContact" class="sky-form" enctype="multipart/form-data"> </form>

Lib:

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
1 curtida

obrigado aix, consegui grava com vraptor.