1
我有下表,目前我可以更新User對象來添加或刪除一個角色,但是當創建一個新用戶時我不能添加一個角色(用戶的角色是因爲中間表User_Role期望用戶對象的ID,所以自然插入我得到一個User.User_ID =?。保存後插入多對多表
有沒有什麼常見的方法可以解決這個問題?我想也許試圖在保存後獲取插入用戶的ID,然後調用我的更新函數。我不想這樣做,因爲我擔心性能,特別是將來可能會發生批量上傳。
我在我的userRepository上使用CrudRepository。
if(userRequest.getUser().getIdUser() <= -1){
newUser.setIdUser(0);
newUser.setIsActiveUs(true);
newUser.setDateOfJoin(getCurrentDate());
nuser = usersRepository.save(newUser);
//Get created user and send it to update() with the roleList?
}
UserRole存在,因爲用戶可以在此應用程序中擁有多個角色。 –
我認爲你可以在一次交易中完成這一切,但我必須看到映射。您似乎可以使用來自用戶 - >用戶角色的OneToOne和用戶角色的OneToMany - >角色和角色許多角色 - >用戶角色級聯所有這些操作。 – neal
我正在嘗試以下方法http://stackoverflow.com/questions/15943783/how-to-save-a-new-entity-that-refers-existing-entity-in-spring-jpa我會看看這是怎麼回事作品。問題是應用程序的架構應儘可能少地改變。 –