Here is refference about JPA annotation

http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#OneToMany

here is example:

@Entity
@Table(name="app_user")
public class User extends BaseObject implements Serializable, UserDetails {
...
    protected Set<Entity> entitys = new HashSet<Entity>();
...
    @OneToMany(targetEntity=Entity.class, cascade=CascadeType.ALL,
mappedBy="user", fetch = FetchType.LAZY)
    public Set<Entity> getEntitys() {
        return entitys;
    }
...
    public void setEntitys(Set<Entity> entitys) {
        this.entitys = entitys;
    }
...
}

@Entity
@Table(name="entity")
public class Entity extends BaseObject implements Comparable, Serializable,
                Cloneable {
..
        protected User user;
..
    @ManyToOne(optional=false)
    @JoinColumn(name="user_id", nullable=false, updatable=false)    
    public User getUser() {
        return user;
    }
...
    public void setUser(User user) {
        this.user = user;
    }
...
    //hashCode and  equils functions
...
}

Hope this helps.



Fan wrote:
> 
> what's the use of persistence.xml ??
> 
> I saw only two following entries in the file, should I add a new entry for
> club pojo ?
> 
> <class>org.appfuse.model.User</class>
> <class>org.appfuse.model.Role</class>
> 
> I did try the following way:
> 
> In my club POJO, I have
> 
> @OneToMany
> public Set<User> getUsers()
> {
>   return users;
> }
> 
> in my user POJO, I have:
> 
> @ManyToOne
> @JoinColumn(name="clubID")
> public Club getClub()
> {
>     return club;
> }
> 
> so the result is:
> 
> 1) I have one column called "clubID" in user table
> 2) A table called "club_app_user" with two keys "Club_clubID", "users_id"
> generated
> 
> but when I have saved the user record with "clubID" being saved
> successfully in user table, nothing did happen in "club_app_user" , in
> other words, the "club_app_user" still empty record, or do I need to save
> the record in "club_app_user" explicitly ?
> 
> 
> ros wrote:
>> 
>> Fan,
>> 
>> About 1) in pom.xml there should be 
>> 
>>         <dependency>
>>             <groupId>org.appfuse</groupId>
>>             <artifactId>appfuse-${web.framework}</artifactId>
>>             <version>${appfuse.version}</version>
>>             <type>warpath</type>
>>             <exclusions>
>>                 <!-- This exclusion and the dependency following this one
>> allow DAO framework switching. -->
>>                 <!-- You only need these if you want to use JPA or
>> iBATIS. See APF-565 for more information. -->
>>                 <!-- It does no harm to leave it in for Hibernate, but
>> it's not needed. -->
>>                 <exclusion>
>>                     <groupId>org.appfuse</groupId>
>>                     <artifactId>appfuse-hibernate</artifactId>
>>                 </exclusion>
>>             </exclusions>
>>         </dependency>
>>         <dependency>
>>             <groupId>org.appfuse</groupId>
>>             <artifactId>appfuse-${dao.framework}</artifactId>
>>             <version>${appfuse.version}</version>
>>             <exclusions>
>>                 <exclusion>
>>                     <groupId>org.appfuse</groupId>
>>                     <artifactId>appfuse-data-common</artifactId>
>>                 </exclusion>
>>             </exclusions>
>>         </dependency>
>> 
>> Check  / src  / main  / resources  / META-INF  / persistence.xml
>> 
>> 
>> Fan wrote:
>>> 
>>> Hey ros:
>>> 
>>> 1)The original pom.xml already has the exclusion :
>>> 
>>> <dependency>
>>>             <groupId>org.appfuse</groupId>
>>>             <artifactId>appfuse-${web.framework}</artifactId>
>>>             <version>${appfuse.version}</version>
>>>             <type>warpath</type>
>>>             <!-- This exclusion and the dependency following this one
>>> allow DAO framework switching. -->
>>>             <!-- You only need these if you want to use JPA or iBATIS.
>>> See APF-565 for more information. -->
>>>             <!-- It does no harm to leave it in for Hibernate, but it's
>>> not needed. -->
>>>             <exclusions>
>>>                 <exclusion>
>>>                     <groupId>org.appfuse</groupId>
>>>                     <artifactId>appfuse-hibernate</artifactId>
>>>                 </exclusion>
>>>             </exclusions>
>>> </dependency>
>>> 
>>> 2) what did you mean by "Then add in to your poroject User and Role
>>> pojos at appfuse namespace" ?
>>> 
>>> 3) I did check the user pojo, it does has the foreign key club_clubID
>>> 
>>> 4) Yup, I am using M5
>>> 
>>> 5) I did include the bean definition in applicationContext.xml
>>> 
>>> <bean class="org.appfuse.dao.spring.HibernateExtensionPostProcessor"> 
>>>         <property name="annotatedClasses"> 
>>>             <list>
>>>                 <value>com.smartclub.model.Club</value>
>>>                 <value>com.smartclub.model.Facility</value>
>>>             </list> 
>>>         </property> 
>>> </bean>
>>> 
>>> 6) I did include the mapping in hibernate.cfg.xml as well
>>> 
>>> <hibernate-configuration>
>>>     <session-factory>
>>>         <mapping class="org.appfuse.model.User"/>
>>>         <mapping class="org.appfuse.model.Role"/>
>>>         <mapping class="com.smartclub.model.Club"/>
>>>         <mapping class="com.smartclub.model.Facility"/>
>>>     </session-factory>
>>> </hibernate-configuration>
>>> 
>>> 
>>> What else I have to check ??
>>> 
>>> 
>>> ros wrote:
>>>> 
>>>> Hi!
>>>> 
>>>> You have to exclude AppFuse Data Common Package in your pom.xml. Then
>>>> add in to your poroject User and Role pojos at appfuse namespace (as
>>>> described in http://www.appfuse.org/display/APF/AppFuse+Core+Classes)
>>>> 
>>>> Try to do  mvn clean compile hibernate3:hbm2ddl and check database for
>>>> user table structure. If it does not contains fields defined in User
>>>> pojo of your project then AppFuse Data Common Package is not excluded.
>>>> 
>>>> What is your version of appfuse, M5?
>>>> 
>>>> Regards,
>>>> ros
>>>> 
>>>> 
>>>> 
>>>> Fan wrote:
>>>>> 
>>>>> Hey Ros:
>>>>> 
>>>>> I did add the related Object to both hibernate.cfg.xml and
>>>>> applicationContext.xml. But it just does not work
>>>>> 
>>>>> Or do you mind to show me your hibernate.cfg.xml and
>>>>> applicationContext.xml ? I afraid I might do it wrongly
>>>>> 
>>>>> Is that necessary to exclude the AppFuse Data Common Package ?
>>>>> 
>>>>> 
>>>>> ros wrote:
>>>>>> 
>>>>>> Hi!
>>>>>> 
>>>>>> I resolve that by add my Contact object to both hibernate.cfg.xml and
>>>>>> applicationContext.xml.
>>>>>> 
>>>>>> Reffer to http://www.appfuse.org/display/APF/AppFuse+Core+Classes
>>>>>> 
>>>>>> Hope this helps.
>>>>>> 
>>>>>> ros
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Fan wrote:
>>>>>>> 
>>>>>>> Ros, 
>>>>>>> 
>>>>>>> What's the fix ? I am facing the same error as you did
>>>>>>> 
>>>>>>> 
>>>>>>> ros wrote:
>>>>>>>> 
>>>>>>>> Right. Thanks Matt!
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/override-User-code-class-and-link-OneToMany-to-any-other-class-tf3217084s2369.html#a11442084
Sent from the AppFuse - User mailing list archive at Nabble.com.

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

Reply via email to