Skip to content

Instantly share code, notes, and snippets.

Created September 6, 2011 07:31
Show Gist options
  • Save anonymous/1196853 to your computer and use it in GitHub Desktop.
Save anonymous/1196853 to your computer and use it in GitHub Desktop.
Core 4.0CR2: Mapping exception Unknown entity java.util.List
@ManyToMany(fetch = javax.persistence.FetchType.LAZY) @JoinTable(name = "Project_repos_Repo", joinColumns = {@JoinColumn(name = "Project_id_owner")}, inverseJoinColumns = {@JoinColumn(name = "Repo_id_inverse")}) @org.hibernate.annotations.IndexColumn(name = "Projectreposindex", base = 0) @org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.PERSIST, org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.MERGE}) protected java.util.List<webdsl.generated.domain.Repo> _repos = new java.util.ArrayList<webdsl.generated.domain.Repo>();
public java.util.List<webdsl.generated.domain.Repo> getRepos()
{
return _repos;
}
public void setRepos(java.util.List<webdsl.generated.domain.Repo> newitem)
{
setChanged();
_repos = newitem;
}
SEVERE: StandardWrapper.Throwable
java.lang.ExceptionInInitializerError
at utils.HibernateUtilConfigured.<clinit>(HibernateUtilConfigured.java:64)
at utils.DispatchServlet.tryLoadGlobalsAndPerformInit(DispatchServlet.java:19)
at utils.DispatchServlet.init(DispatchServlet.java:39)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:679)
Caused by: org.hibernate.MappingException: Attribute [_repos] refers to unknown entity: [java.util.List]
at org.hibernate.metamodel.source.internal.AssociationResolver.resolve(AssociationResolver.java:57)
at org.hibernate.metamodel.source.internal.AssociationResolver.resolve(AssociationResolver.java:44)
at org.hibernate.metamodel.source.internal.MetadataImpl.<init>(MetadataImpl.java:172)
at org.hibernate.metamodel.source.internal.MetadataBuilderImpl.buildMetadata(MetadataBuilderImpl.java:83)
at org.hibernate.metamodel.MetadataSources.buildMetadata(MetadataSources.java:112)
at utils.HibernateUtilConfigured.<clinit>(HibernateUtilConfigured.java:60)
... 16 more
Sep 6, 2011 9:17:50 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet mainservlet
org.hibernate.MappingException: Attribute [_repos] refers to unknown entity: [java.util.List]
at org.hibernate.metamodel.source.internal.AssociationResolver.resolve(AssociationResolver.java:57)
at org.hibernate.metamodel.source.internal.AssociationResolver.resolve(AssociationResolver.java:44)
at org.hibernate.metamodel.source.internal.MetadataImpl.<init>(MetadataImpl.java:172)
at org.hibernate.metamodel.source.internal.MetadataBuilderImpl.buildMetadata(MetadataBuilderImpl.java:83)
at org.hibernate.metamodel.MetadataSources.buildMetadata(MetadataSources.java:112)
at utils.HibernateUtilConfigured.<clinit>(HibernateUtilConfigured.java:60)
at utils.DispatchServlet.tryLoadGlobalsAndPerformInit(DispatchServlet.java:19)
at utils.DispatchServlet.init(DispatchServlet.java:39)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:679)
package utils;
import java.util.Properties;
import org.hibernate.*;
import org.hibernate.cfg.*;
import org.webdsl.*;
import org.hibernate.event.internal.DefaultFlushEntityEventListener;
import org.hibernate.event.internal.DefaultSaveOrUpdateEventListener;
import org.hibernate.event.service.spi.EventListenerRegistry;
import org.hibernate.event.service.internal.EventListenerRegistryImpl;
import org.hibernate.event.spi.EventType;
import org.hibernate.event.spi.FlushEntityEvent;
import org.hibernate.event.spi.SaveOrUpdateEvent;
import org.hibernate.metamodel.Metadata;
import org.hibernate.metamodel.MetadataSources;
import org.hibernate.metamodel.source.internal.MetadataImpl;
import org.hibernate.service.BasicServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.hibernate.service.spi.SessionFactoryServiceRegistry;
import java.util.*;
import webdsl.generated.domain.*;
@SuppressWarnings("unused") public class HibernateUtilConfigured
{
private static final SessionFactory sessionFactory;
private static MetadataSources metadatasources;
private static BasicServiceRegistry registry;
static
{
try
{
registry = new ServiceRegistryBuilder().addService(EventListenerRegistry.class, new EventListenerRegistryImpl()).buildServiceRegistry();
metadatasources = new MetadataSources(registry);
metadatasources.addPackage("utils");
metadatasources.addAnnotatedClass(utils.ApplicationContextProperty.class);
metadatasources.addAnnotatedClass(utils.File.class);
metadatasources.addPackage("org.webdsl.search");
metadatasources.addAnnotatedClass(org.webdsl.search.SearchNamespace.class);
metadatasources.addPackage("org.webdsl.generated");
metadatasources.addAnnotatedClass(webdsl.generated.domain.Bla.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.Commit.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.dummy_webdsl_entity.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.Entry.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.GithubRepo.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.Project.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.QueuedEmail.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.Repo.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.RequestLogEntry.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.RequestLogEntryParam.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.Settings.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.SvnRepo.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.ValidationException.class);
metadatasources.addAnnotatedClass(webdsl.generated.domain.ValidationExceptionMultiple.class);
EventListenerRegistry eventListenerRegistry = registry.getService(EventListenerRegistry.class);
eventListenerRegistry.setListeners(EventType.SAVE_UPDATE, new SetVersionSaveOrUpdateEventListener());
eventListenerRegistry.setListeners(EventType.FLUSH_ENTITY, new SetValidationEventListener());
sessionFactory = metadatasources.buildMetadata().buildSessionFactory();
}
catch(Throwable ex)
{
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
public static MetadataSources getMetaDataSources()
{
return metadatasources;
}
@SuppressWarnings("serial") private static class SetVersionSaveOrUpdateEventListener extends DefaultSaveOrUpdateEventListener
{
public void onSaveOrUpdate(SaveOrUpdateEvent event) throws HibernateException
{
setVersion(event.getObject());
super.onSaveOrUpdate(event);
}
public void setVersion(Object o)
{
if(org.hibernate.Hibernate.isInitialized(o) && o instanceof WebDSLEntity)
{
WebDSLEntity we = (WebDSLEntity)o;
if(we.getVersion() <= 0)
{
we.setVersion(1);
}
}
}
}
@SuppressWarnings("serial") private static class SetValidationEventListener extends DefaultFlushEntityEventListener
{
public void onFlushEntity(FlushEntityEvent event) throws HibernateException
{
validate(event.getEntity());
super.onFlushEntity(event);
}
public void validate(Object o)
{
if(o instanceof WebDSLEntity)
{
WebDSLEntity we = (WebDSLEntity)o;
AbstractPageServlet aps = ThreadLocalPage.get();
if(aps != null)
{
aps.addEntityToValidateAfterAction(we);
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment