Thank you John .... I will go through it......:handshake:



John Kwon wrote:
> 
> On Mon, May 12, 2008 at 6:23 AM, Greenhorn2005 <[EMAIL PROTECTED]>
> wrote:
> 
>>
>> Hello to all appfuse users,
>>
>> I have a doubt.
>>
>> I have a created two entities called User and Role. A user can have many
>> roles and a role can have many users.
>>
>>
>> User.java
>>
>>    code:
>>
>>
>>    @Entity
>>    @Table(name="app_user")
>>    public class User {
>>
>>    .....
>>    private Set<Role> roles = new HashSet<Role>();
>>    .......
>>
>>    @ManyToMany(fetch = FetchType.EAGER, targetEntity=Role.class, cascade
>> =
>> CascadeType.ALL)
>>        @JoinTable(
>>                name="user_role",
>>                joinColumns = {
>>                         @JoinColumn(name = "username",
>> referencedColumnName
>> = "username")
>>                               },
>>                inverseJoinColumns = {
>>                         @JoinColumn(name = "role_name",
>> referencedColumnName = "name")
>>                                     }
>>        )
>>        public Set<Role> getRoles() {
>>            return roles;
>>        }
>>    ......
>>    ......
>>    .......
>>    }
>>
>>
>>
>>
>>
>>
>>
>> Role.java
>>
>>    code:
>>
>>
>>    @Entity
>>    @Table(name="role")
>>    public class Role{
>>
>>    .....
>>     private Set<User> users;
>>    ..
>>    ...
>>     @ManyToMany(mappedBy="roles", targetEntity=User.class)
>>        public Set<User> getUsers() {
>>            return users;
>>        }
>>
>>    ....
>>    .........
>>    ......
>>    }
>>
>>
>>
>>
>> Now I got three tables. ie app_user (User) table, role table and
>> user_role
>> table.
>>
>>    code:
>>
>>
>>
>>    mysql> select * from user_role;
>>    +--------------+------------+
>>    | username     | role_name  |
>>    +--------------+------------+
>>    | apple        | admin      |
>>    | orange       | groupAdmin |
>>    | pineapple    | user       |
>>    | peach        | user       |
>>    +...........................+
>>
>>
>>
>>
>>
>> Now, we know that the user_role does not have entity class (model). When
>> I
>> write in my DAOHibernate, I want to get access to this user_role table in
>> order to get a list of username having role as 'user'. How can I write it
>> in
>> my code....
>>
>>    code:
>>
>>
>>    public class UserDaoHibernate extends GenericDaoHibernate<User, Long>
>> implements UserDao {
>>
>>        public UserDaoHibernate() {
>>            super(User.class);
>>        }
>>
>>    //   public List<User> listUsers() {
>>    //
>>    //         Query q = getSession().createQuery(" from User as u, Role
>> as
>> r, //                    user_role as ur "
>>    //                     + " where ur.username=u.username "
>>    //                     + " and ur.role_name = 'user'";
>>    //
>>    //
>>    // here I can not use 'user_role' as it will show errors.
>>    //
>>    //                return q;
>>    //    }
>>
>>    }
>>
>>
>>
>> I hope I made my doubt clear to you all. So Please help . Thank you.
>>
>> GreenHorn
>>
>> If you download Appfuse full source, you can see exactly how to do this.
> It's all there in the code.
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Need-help-for-Many-to-Many-association-tp17184793s2369p17315172.html
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