大鱼

EJB3.x:关于@UniqueConstraint标记中的columnNames属性

EJB3.x:关于@UniqueConstraint标记中的columnNames属性

例如以下代码:

  1. package net.model.entity;   
  2.   
  3. import java.io.Serializable;   
  4.   
  5. import javax.persistence.Column;   
  6. import javax.persistence.Entity;   
  7. import javax.persistence.GeneratedValue;   
  8. import javax.persistence.GenerationType;   
  9. import javax.persistence.Id;   
  10. import javax.persistence.Table;   
  11. import javax.persistence.UniqueConstraint;   
  12.   
  13. @Entity  
  14. @Table(   
  15.         name="ROLE" ,   
  16.         uniqueConstraints={@UniqueConstraint(columnNames={"ROLE_NAME"})}                   
  17. )   
  18. public class Role implements Serializable   
  19. {   
  20.     private Integer id ;   
  21.        
  22.     private String roleName;   
  23.        
  24.     private int roleValue ;   
  25.        
  26.   
  27.   
  28.     @Id  
  29.     @GeneratedValue(strategy=GenerationType.AUTO)   
  30.     @Column(name="ROLE_ID")   
  31.     public Integer getId() {   
  32.         return id;   
  33.     }   
  34.   
  35.     public void setId(Integer id) {   
  36.         this.id = id;   
  37.     }   
  38.   
  39.        
  40.        
  41.     @Column(name="ROLE_NAME" , nullable=false ,length=50)   
  42.     public String getRoleName() {   
  43.         return roleName;   
  44.     }   
  45.   
  46.     public void setRoleName(String roleName) {   
  47.         this.roleName = roleName;   
  48.     }   
  49.   
  50.     @Column(name="ROLE_VALUE" , nullable=false)   
  51.     public int getRoleValue() {   
  52.         return roleValue;   
  53.     }   
  54.   
  55.     public void setRoleValue(int roleValue) {   
  56.         this.roleValue = roleValue;   
  57.     }   
  58.   
  59. }  
  

 

 

注意uniqueConstraints={@UniqueConstraint(columnNames={"ROLE_NAME"})} 中的columnNames属性值为数据库表中的字段名,而不是Role类中的类成员名roleName。

posted on 2009-03-16 22:16 大鱼 阅读(658) 评论(0)  编辑  收藏 所属分类: EJB


只有注册用户登录后才能发表评论。


网站导航: