EJB初学日记(5)

以前看到一本书上写的,有关定义实体BEAN的一些细节,直到今天才知道其中的差别

代码1:

/*    
 * Test.java   
 *   
 * Created on 2006年12月15日, 上午12:06   
 *   
 * To change this template, choose Tools | Template Manager   
 * and open the template in the editor.   
 
*/    
   
package  com.hadeslee.entity;    
   
import  java.io.Serializable;    
import  javax.persistence.Entity;    
import  javax.persistence.GeneratedValue;    
import  javax.persistence.GenerationType;    
import  javax.persistence.Id;    
   
/**    
 * Entity class Test   
 *    
 * 
@author  lbf   
 
*/    
@Entity   
public   class  Test  implements  Serializable {    
    
private  Long id;    
    
private  String name,sex,age;    
    
private   int  idCard;    
    
/**  Creates a new instance of Test  */    
    
public  Test() {    
    }    
   
    
/**    
     * Gets the id of this Test.   
     * 
@return  the id   
     
*/    
    @Id   
    @GeneratedValue(strategy 
=  GenerationType.AUTO)    
    
public  Long getId() {    
        
return   this .id;    
    }    
   
    
/**    
     * Sets the id of this Test to the specified value.   
     * 
@param  id the new id   
     
*/    
    
public   void  setId(Long id) {    
        
this .id  =  id;    
    }    
    
public   void  setNameID( int  ids){    
        
this .idCard = ids;    
    }    
    
public   int  getNameID(){    
        
return  idCard;    
    }    
   
    
/**    
     * Returns a hash code value for the object.  This implementation computes    
     * a hash code value based on the id fields in this object.   
     * 
@return  a hash code value for this object.   
     
*/    
    @Override   
    
public   int  hashCode() {    
        
int  hash  =   0 ;    
        hash 
+=  ( this .id  !=   null   ?   this .id.hashCode() :  0 );    
        
return  hash;    
    }    
   
    
/**    
     * Determines whether another object is equal to this Test.  The result is    
     * true if and only if the argument is not null and is a Test object that    
     * has the same id field values as this object.   
     * 
@param  object the reference object with which to compare   
     * 
@return  true if this object is the same as the argument;   
     * false otherwise.   
     
*/    
    @Override   
    
public   boolean  equals(Object object) {    
        
//  TODO: Warning - this method won't work in the case the id fields are not set    
         if  ( ! (object  instanceof  Test)) {    
            
return   false ;    
        }    
        Test other 
=  (Test)object;    
        
if  ( this .id  !=  other.id  &&  ( this .id  ==   null   ||   ! this .id.equals(other.id)))  return   false ;    
        
return   true ;    
    }    
   
    
/**    
     * Returns a string representation of the object.  This implementation constructs    
     * that representation based on the id fields.   
     * 
@return  a string representation of the object.   
     
*/    
    @Override   
    
public  String toString() {    
        
return   " com.hadeslee.entity.Test[id= "   +  id  +   " ] " ;    
    }    
   
    
public  String getName() {    
        
return  name;    
    }    
   
    
public   void  setName(String name) {    
        
this .name  =  name;    
    }    
   
    
public  String getSex() {    
        
return  sex;    
    }    
   
    
public   void  setSex(String sex) {    
        
this .sex  =  sex;    
    }    
   
    
public  String getAge() {    
        
return  age;    
    }    
   
    
public   void  setAge(String age) {    
        
this .age  =  age;    
    }    
        
}    

代码2:

 

/*    
 * Test.java   
 *   
 * Created on 2006年12月15日, 上午12:06   
 *   
 * To change this template, choose Tools | Template Manager   
 * and open the template in the editor.   
 
*/    
   
package  com.hadeslee.entity;    
   
import  java.io.Serializable;    
import  javax.persistence.Entity;    
import  javax.persistence.GeneratedValue;    
import  javax.persistence.GenerationType;    
import  javax.persistence.Id;    
   
/**    
 * Entity class Test   
 *    
 * 
@author  lbf   
 
*/    
@Entity   
public   class  Test  implements  Serializable {    
    @Id   
    @GeneratedValue(strategy 
=  GenerationType.AUTO)    
    
private  Long id;    
    
private  String name,sex,age;    
    
private   int  idCard;    
    
/**  Creates a new instance of Test  */    
    
public  Test() {    
    }    
   
    
/**    
     * Gets the id of this Test.   
     * 
@return  the id   
     
*/    
       
    
public  Long getId() {    
        
return   this .id;    
    }    
   
    
/**    
     * Sets the id of this Test to the specified value.   
     * 
@param  id the new id   
     
*/    
    
public   void  setId(Long id) {    
        
this .id  =  id;    
    }    
    
public   void  setNameID( int  ids){    
        
this .idCard = ids;    
    }    
    
public   int  getNameID(){    
        
return  idCard;    
    }    
   
    
/**    
     * Returns a hash code value for the object.  This implementation computes    
     * a hash code value based on the id fields in this object.   
     * 
@return  a hash code value for this object.   
     
*/    
    @Override   
    
public   int  hashCode() {    
        
int  hash  =   0 ;    
        hash 
+=  ( this .id  !=   null   ?   this .id.hashCode() :  0 );    
        
return  hash;    
    }    
   
    
/**    
     * Determines whether another object is equal to this Test.  The result is    
     * true if and only if the argument is not null and is a Test object that    
     * has the same id field values as this object.   
     * 
@param  object the reference object with which to compare   
     * 
@return  true if this object is the same as the argument;   
     * false otherwise.   
     
*/    
    @Override   
    
public   boolean  equals(Object object) {    
        
//  TODO: Warning - this method won't work in the case the id fields are not set    
         if  ( ! (object  instanceof  Test)) {    
            
return   false ;    
        }    
        Test other 
=  (Test)object;    
        
if  ( this .id  !=  other.id  &&  ( this .id  ==   null   ||   ! this .id.equals(other.id)))  return   false ;    
        
return   true ;    
    }    
   
    
/**    
     * Returns a string representation of the object.  This implementation constructs    
     * that representation based on the id fields.   
     * 
@return  a string representation of the object.   
     
*/    
    @Override   
    
public  String toString() {    
        
return   " com.hadeslee.entity.Test[id= "   +  id  +   " ] " ;    
    }    
   
    
public  String getName() {    
        
return  name;    
    }    
   
    
public   void  setName(String name) {    
        
this .name  =  name;    
    }    
   
    
public  String getSex() {    
        
return  sex;    
    }    
   
    
public   void  setSex(String sex) {    
        
this .sex  =  sex;    
    }    
   
    
public  String getAge() {    
        
return  age;    
    }    
   
    
public   void  setAge(String age) {    
        
this .age  =  age;    
    }    
        
}    


代码1和代码2唯一的差别就是@Id的注释地方不同了

同样是注释主键,当在直接用在变量上注释时,如果其它的成员变量没有指定名字,则数据库生成的表的各列名字将以定义的成员变量的变量名为准

当用在getter方法注释时,则数据库生成的表的各列名字将取getXXXX的XXXX名字,将不再取定义的成员变量名

像上面的例子中,代码1会有IdCard这一列,则代码2取而代之的将是NameID这一列.这看上去是一个小小的差别,但是了解了终究是好事.呵呵.终于懂清楚在get上注释和直接在成员变量上注释的差别了,一般来说是不会有什么差别的,一般标准 的JAVABEAN都是成员变量名和getter,setter签名一样的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值