两张表
@Entity
@Table (name = "CP_ROLE", schema = "dbo", catalog = "FusionCP")
public class Role extends BaseDomain
{    private Set <Person> persons = new HashSet <Person> ();    @ManyToMany (mappedBy = "roles")
    public Set <Person> getPersons ()
    {
        logger.entering ();
        if (logger.isExitingLoggable ())
        {
            logger.exiting (String.valueOf (persons));
        }
        return persons;
    }
@Entity
@Table (name = "CP_PERSON", schema = "dbo", catalog = "FusionCP")
public class Person extends OutDomain implements java.io.Serializable
{    @ManyToMany
    @JoinTable (name = "CP_PERSON_ROLE_MAPPING", inverseJoinColumns = @JoinColumn (name = "RoleID"), joinColumns = @JoinColumn (name = "PersonID"))
    public Set <Role> getRoles ()
    {
        logger.entering ();
        if (logger.isExitingLoggable ())
        {
            logger.exiting (String.valueOf (roles));
        }
        return roles;
    }