Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Problem with @ManyToOne on a CompositeId

 
Sergio Silva
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a Database that i need to persist and that i can't change his structure.

With reverse engineering i created the persistence model, but now i'm with problems:

Class EventActions:





The Pk Class:




The OperationInterval class:



When i validate the model, it gives the error:

org.hibernate.AnnotationException: Column name operationintervalid of Eventactions not found in JoinColumns.referencedColumnName

Caused by: org.hibernate.AnnotationException: Column name operationintervalid of com.criticalsoftware.chums.data.entity.hums.HumsBumeventact
ions not found in JoinColumns.referencedColumnName
at org.hibernate.cfg.annotations.TableBinder.bindFk(TableBinder.java:319)
at org.hibernate.cfg.FkSecondPass.doSecondPass(FkSecondPass.java:64)
at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:474)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:295)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1115)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1269)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:150)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:88
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:416)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
at org.ow2.easybeans.persistence.JPersistenceContext.init(JPersistenceContext.java:72)
at org.ow2.easybeans.persistence.JPersistenceContext.<init>(JPersistenceContext.java:65)
at org.ow2.easybeans.persistence.PersistenceUnitManager.addExtraPersistenceUnitInfos(PersistenceUnitManager.java:8
at org.ow2.easybeans.persistence.PersistenceUnitManager.<init>(PersistenceUnitManager.java:64)
at org.ow2.easybeans.persistence.xml.PersistenceXmlFileAnalyzer.analyzePersistenceXmlFile(PersistenceXmlFileAnalyzer.java:143)
at org.ow2.easybeans.container.JContainer3.start(JContainer3.java:271)
at org.ow2.easybeans.osgi.ejbjar.Activator.startContainer(Activator.java:129)
at org.ow2.easybeans.osgi.ejbjar.Activator.start(Activator.java:91)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
... 14 more
Nested Exception:


So... I commented the joincolumn anotation... and the result is:

org.hibernate.HibernateException: Missing column: operationintervalsByOperationintervalid_operationIntervalId in yogurt.dbx.EventActions



How can i solve this problem ? I can't change the database.
[ October 13, 2007: Message edited by: Sergio Silva ]
 
Shailesh Kini
Ranch Hand
Posts: 153
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Sergio,

In Operationinterval the mappedBy property in @OneToMany annotation should be an attribute in class A that references back to class Operationinterval.

so @OneToMany should be changed to...

@OneToMany(mappedBy="operationintervalsByOperationintervalid")
public Collection<A> getAByOperationalintervalid() {
return asByOperationintervalid;
}


At the same time please make sure that the case of columns are the same as declared in your class files. You do require the @JoinColumn.

If there are still some issues, it would be helpful if you paste the entire source code here.
 
Sergio Silva
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, i have the code as you tell me to, but have the same problem...

I don't have the rest of the code now, just later, can you guys remember what could be wrong until i post all code?

thks
 
Sergio Silva
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The code from the original post is updated!

It's all code there now!

Can you guys help me?
 
Shailesh Kini
Ranch Hand
Posts: 153
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Sergio,

I am trying a sample on my end and will post my findings. In the meantime if you have a solution please post it here, it might help other ranchers.
[ October 17, 2007: Message edited by: Shailesh Kini ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic