Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Error al cargar bean en un grid
tengo el siguiente problema
estoy trabajando con hibernate y vaadin por hibernate traigo unos beans anidados(usuer y company)
el cual corresponde que un user esta asociado a una empresa
esta informacion necsito cargarla en un grid (ver imagen adjunta).
necesito que en la columna company, en vez de imprimirme el .getClass(), necesito que me imprima el nombre de la empresa.
buscando encontre que me servia este metodo:
ListaUser.addNestedContainerProperty("company.comName");
userList.setContainerDataSource(ListaUser);
pero al implementar esto me aparece el siguiente error:
java.lang.IllegalStateException: Found at least one column in Grid that does not exist in the given container: company.comName with the header "Com Name"
at com.vaadin.ui.Grid.internalSetContainerDataSource(Grid.java:4089)
at com.vaadin.ui.Grid.setContainerDataSource(Grid.java:3991)
at com.ultragps.sentinel.adminuser.AdminUser.refreshContacts(AdminUser.java:173)
at com.ultragps.sentinel.adminuser.AdminUser.refreshContacts(AdminUser.java:169)
at com.ultragps.sentinel.adminuser.AdminUser.configureComponents(AdminUser.java:143)
at com.ultragps.sentinel.adminuser.AdminUser.<init>(AdminUser.java:53)
at com.ultragps.sentinel.ui.SentinelUI.init(SentinelUI.java:58)
at com.vaadin.ui.UI.doInit(UI.java:675)
at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:214)
at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:351)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
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)
necesito ayuda por favor
bueno he solucionado el problema implementando los metodos hascode() y equals() en el bean asociado
public int hashCode() {
// TODO Auto-generated method stub
HashCodeBuilder hcb = new HashCodeBuilder();
hcb.append(comCreatedDate);
hcb.append(comLatitude);
hcb.append(comLongitude);
hcb.append(comName);
hcb.append(comOwnerCompanyId);
hcb.append(comState);
return hcb.toHashCode();
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
if(this==obj)
return true;
if(!(obj instanceof Company))
return false;
Company that = (Company)obj;
EqualsBuilder eb = new EqualsBuilder();
eb.append(comLatitude, that.comLatitude);
eb.append(comLongitude, that.comLongitude);
eb.append(comState, that.comState);
eb.append(comCreatedDate, that.comCreatedDate);
eb.append(comName, that.comName);
eb.append(comOwnerCompanyId, that.comOwnerCompanyId);
return eb.isEquals();
}