[jboss-user] [EJB 3.0] - Re: Need some help with mapping

MikeDougherty do-not-reply at jboss.com
Thu Apr 5 13:09:53 EDT 2007


Yeah, you are right. I think the primary key in this case is breaking a few rules. I think one column in this case would be sufficient, but being an application developer and not a database developer, what do I know. I will make some effort to push back (if even possible). But for now I need to keep trudging ahead.

So.... changing the mapping to @ManyToOne did not seem to have the desired effect.


  |   State: FAILED
  |   Reason: org.hibernate.AnnotationException: A Foreign key refering com.foo.entities.Type from com.foo.entities.Store has the wrong number of column. should be 3
  | 


  |     @ManyToOne
  |     @JoinColumn(name="STORE_TYPE", referencedColumnName = "TYPE_ID")
  |     public Type getStoreType() {
  |         return storeType;
  |     }
  | 

You had multiple JoinColumns in your earlier post. But the STORE table doesn't have a TABLE_NAME column in it. So how do I map that column of the TypePK class to a static value? I would like to try something like the following, but I don't think this  will work the way it is.


  |     @ManyToOne
  |     @JoinColumn(name="STORE_TYPE", referencedColumnName = "TYPE_ID")
  |     @DiscriminatorColumn(name="TABLE_NAME", discriminatorType=STRING,length=20)
  |     @DiscriminatorValue("STORE")
  |     @DiscriminatorColumn(name="FIELD_NAME", discriminatorType=STRING,length=20)
  |     @DiscriminatorValue("STORE_TYPE")
  |     public Type getStoreType() {
  |         return storeType;
  |     }
  | 

But I believe @DiscriminatorColumn and @DiscriminatorValue are class level annotations, not method level. Is that a correct assumption? If so, is there a way to get the results of those annotations another way?

Thanks.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4035098#4035098

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4035098



More information about the jboss-user mailing list