Yeah, you have to have a model for PersonRequest since you need to know the
date object it holds.  Any other method and it's not many to many.

Regarding the error, have you defined all the models in the hibernate
configuration file (hibernate.cfg.xml)?


-----Original Message-----
From: syg6 [mailto:[EMAIL PROTECTED] 
Sent: 09 July 2007 14:08
To: [email protected]
Subject: [appfuse-user] RE: many-to-many with attribute ... again


Hmm ... well, ideally I was hoping to NOT have to create any extra model
classes. It seems I have to at least create one, right? The PersonRequest
class. Well, at least it seems I don't have to create the PersonRequestPK
class!

Anyway, I tried your example and when I run mvn test-compile
hibernate3:hbm2ddl I get an error:

AnnotationException: @OneToOne or @ManyToOne on
com.mycompany.app.model.PersonRequest.person references an unknown entity:
com.mycompany.app.model.Person

Both Person and Request exist ... Both have the following annotations:

private Long id;
    
@Id @GeneratedValue(strategy = GenerationType.AUTO) 
public Long getId() {
  return id;
}

I am not sure what the problem is ... but then I am not an Annotations or
Hibernate expert. I'll keep trying. And further help much appreciated!

Cheers,
Bob




Aled Rhys Jones wrote:
> 
> Hi Bob
> 
> Ok then, Yes. :-)
> 
> http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/
> 
> I've got the same scenario in my app.
> 
>  
> 
> Example Request model:
> 
> @Entity 
> 
> public class Request {
> 
>     
> 
>       private List<PersonRequest> personRequests;
> 
>       ......
> 
>     
> 
>       @OneToMany(mappedBy="request")
> 
>       @OrderBy("date")
> 
>       public List<PersonRequest> getPersonRequests () {
> 
>             return personRequests;
> 
>       }
> 
>       .....
> 
> }
> 
>  
> 
> Example Person model:
> 
> @Entity
> 
> public class Person {
> 
>       private List<PersonRequest> personRequests;
> 
>       ......
> 
>     
> 
>       @OneToMany(mappedBy="person")
> 
>       @OrderBy("date")
> 
>       public List<PersonRequest> getPersonRequests () {
> 
>             return personRequests;
> 
>       }
> 
>       .....
> 
> }
> 
>  
> 
> Example PersonRequest model:
> 
> @Entity
> 
> public class PersonRequest:
> 
>       private Person person;
> 
>       private Request request;
> 
>       .....
> 
>       @ManyToOne
> 
>       @JoinColumn(name="person_id")
> 
>       public Person getPerson(){
> 
>             return person;
> 
>       }
> 
>  
> 
>       @ManyToOne
> 
>       @JoinColumn(name="request_id")
> 
>       public Request getRequest(){
> 
>             return request;
> 
>       }
> 
>       .......
> 
> }
> 
>  
> 
> You may want to add details about cascading and the like.
> 
> You'll obviously need to put annotations on your getId method's so
> hibernate
> know to use the id fields as primary keys.
> 
> Just add in the other fields such as description as normal.
> 
> Hope this helps.  
> 
>  
> 
> Cheers
> 
> Aled
> 
>       
> 
>  
> 
> -----Original Message-----
> From: syg6 [mailto:[EMAIL PROTECTED] 
> Sent: 09 July 2007 12:18
> To: [email protected]
> Subject: [appfuse-user] many-to-many with attribute ... again
> 
>  
> 
>  
> 
> Hello all.
> 
>  
> 
> I had this problem about a year ago and just couldn't get Hibernate and
> 
> XDoclet to play nice. Basically I have this:
> 
>  
> 
> Request
> 
> id
> 
> description
> 
>  
> 
> Person
> 
> id
> 
> name
> 
>  
> 
> PersonRequest
> 
> idPerson
> 
> idRequest
> 
> date 
> 
>  
> 
> And I would like to know how to do with Annotations. The last time I wound
> 
> up hand-hacking the hibernate mapping files and creating two intermediate
> 
> 'composite' classes -- let's call them PersonRequest and PersonRequestPK
> -- 
> 
> and having to do all of the DAO by hand.
> 
>  
> 
> Is there any way to do this auto-magically with Annotations?
> 
>  
> 
> Please say yes ...
> 
>  
> 
> Cheers,
> 
> Bob
> 
> -- 
> 
> View this message in context:
>
http://www.nabble.com/many-to-many-with-attribute-...-again-tf4048626s2369.h
> tml#a11499869
> 
> Sent from the AppFuse - User mailing list archive at Nabble.com.
> 
>  
> 
> ---------------------------------------------------------------------
> 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> 
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>  
> 
> 
> 

-- 
View this message in context:
http://www.nabble.com/many-to-many-with-attribute-...-again-tf4048626s2369.h
tml#a11501267
Sent from the AppFuse - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to