2016-11-04 5 views
0

とはみなされません、私はそれが一意であることが作る属性:ユニークな引数は実体では

@Entity 
@Table(name = "role") 
public class Role { 

    @Id 
    @Column(unique=true) 
    private String role_code; 

    ... 

} 

しかし、実行時に新しいレコードその後、例外が発生していない、またコンソールを挿入するときに! role_code列がvarchar2の主キーであるため、データベースが正しく設定されていますが、

@RequestMapping(value = "/save", method = RequestMethod.POST) 
public ModelAndView save(@ModelAttribute("role_details") Role role) { 

    roleDao.saveOrUpdate(role); 

    return new ModelAndView("redirect:/adminrole/"); 

} 

エンティティレベルで一意の制約を適用するにはどうすればよいですか。

+0

例外がスローされないことをあなたのコードのテストを投稿してください。 –

+0

私は挿入を実行するコードを含むように自分の投稿を更新しました。 – pheromix

+1

saveOrUpdate()を呼び出しています。あなたのエンティティは既にIDを持っているので、saveOrUpdate()は更新を行います。 –

答えて

0

試してみてください。

@Entity 
@Table(name = "role", indexes = {@Index(name = "some_index_name", columnList = "role_code", unique = true}) 
public class Role { ... } 
関連する問題