用sequelizejs急切地加载模型定义的关联实体

我有一个用SequelizeJS定义的多对多关系,如下所示:

global.db.User.hasMany(global.db.Role, { as: 'UserRoles', joinTableName:'user_roles'}); global.db.Role.hasMany(global.db.User, { as: 'RoleUsers', joinTableName:'user_roles'}); 

我需要总是有任何用户检索用户对象的angular色。 定义用户模型时,是否有某种方法可以定义这种types的事物,而不仅仅是调用find或find all?

也许在定义你的模型时,你应该使用Getters&setters来自动查询user_role表,如下所示:

 var User = sequelize.define('User', { name_field: { Sequelize.STRING }, age_field: { Sequelize.INTEGER }, // other fieds userRole: { type : Sequelize.STRING, allowNull: false, get : function() { return global.db.Role.findOne({ // user_id or how it defined in Role table where: {user_id: this.userId} }).success(function(role) { return role }) } } });