Created
September 6, 2011 07:31
-
-
Save anonymous/1196853 to your computer and use it in GitHub Desktop.
Core 4.0CR2: Mapping exception Unknown entity java.util.List
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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