欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JPA配置关系数据表-联合主键配置

程序员文章站 2022-04-24 22:26:17
...

JPA配置:联合主键

实体类-副:

/**
 * 复合主键
 */
@Embeddable
public class UserRolesKey implements Serializable {

    /** 用户id */
    private String userId ;
    /** 角色Id */
    private String roleId ;
    /** 组织机构Id */
    private String grantOrgId;
    // getter() setter()
}

实体类-主:

/**
 * 用户角色关系
 */
@Entity
@Table(name="user_roles")
public class UserRoleEntity implements Serializable {

    // 复合主键
    @EmbeddedId
    private UserRolesKey id;

    /** 授权人 */
    private String createUserId ;

    // getter() setter()

}

Dao:

/**
 * 用户角色维护
 */
@Repository
public interface UserRolesDao  extends JpaRepository<UserRoleEntity,String> {

}

Service 业务逻辑层调用

{
 UserRoleEntity urEntity = new UserRoleEntity();
UserRolesKey urKey = new UserRolesKey();
// 复合主键
urKey.setRoleId(roleId);
urKey.setUserId(userId);
urKey.setGrantOrgId(orgId);
// 主类
urEntity.setId(urKey);
urEntity.setCreateUserId(userId);

//添加记录
userRolesDao.save(urEntity);

// flush()方法,不加会报错
userRolesDao.flush();
// 删除记录
userRolesDao.delete(urEntity);
}
相关标签: JPA spring boot