以前看到一本书上写的,有关定义实体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签名一样的.
分享到:
相关推荐
**企业级JavaBeans(EJB)初学者指南** 企业级JavaBeans(EJB)是Java平台上用于构建可扩展、安全且事务处理能力强的企业级应用程序的核心技术。EJB规范定义了一组组件模型,允许开发人员创建分布式、多层的服务器...
5. **EJB生命周期** EJB组件经历创建、初始化、激活、被动使用、钝化和销毁等阶段。生命周期方法,如`@PostConstruct`和`@PreDestroy`,允许开发者在这些阶段执行自定义逻辑。 6. **EJB的依赖注入** EJB支持依赖...
### EJB初学者常有的十一个疑惑解析 #### 一、EJB与Java Bean的区别 在探讨EJB与Java Bean的区别之前,我们首先需要明确两者的基本概念。 **Java Bean**: - **定义**:Java Bean是一种可重用的组件,没有严格的...
通过这个ejb的初学者教程,学习者可以了解到如何创建、配置、调用和部署EJB,从而更好地理解和利用Java EE平台的强大功能。随着对EJB的深入理解,开发者能够构建出更健壮、可扩展的企业级应用。
本源代码主要向EJB初学者介绍JMS的使用,如何创建和初始化一个请求Requestor对象、如何初始化请求Requestor对象、如何建立一个会话和发送请求、如何打印出请求的过程信息、如何接受由反馈者replier发回的消息等。
### EJB 3.0 初学者必备知识点详解 #### 一、EJB 3.0 概述 **EJB (Enterprise JavaBeans)** 是Java平台为企业级应用程序提供的一种组件模型,它允许开发者以模块化的方式构建分布式网络计算的应用程序。EJB 3.0...
### 实战EJB知识点解析 #### 一、企业JavaBeans (EJB) 技术概览 **什么是企业JavaBeans技术?** 企业JavaBeans (EJB) 是Java平台上的服务器端组件模型,专为构建可扩展、可靠且跨平台的企业级应用程序而设计。...
### EJB3 最新学习教程知识点详解 #### 一、EJB3 概念与特点 **企业级JavaBean(EJB)**是Java...通过以上内容的学习,初学者可以系统地了解EJB3的核心概念、开发流程及高级特性,为进一步深入学习打下坚实的基础。
第1篇对EJB编程基础进行介绍,它概要性地对EJB进行了阐述,无论是EJB初学者,还是资深EJB专家,这部分内容都值得阅读;第2篇重点关注EJB编程的具体内容和过程,其中,研究了如何开发如下三种EJB组件:会话Bean、实体Bean和...
本书内容翔实、深入浅出,提供了详细的讨论和实例,对于懂Java语言的EJB初学者是一本有益的指导书。本书所附光盘包括:WebLogic Server 6.1的试用版、WebGain's VisualCafe 4.5的试用版、 WebGain's TopLink 3.5.1的...
### EJB技术详解 #### EJB 2.0与EJB 1.1的主要区别及其应用场景 EJB(Enterprise JavaBeans)技术自1998年首次推出以来,经历了多个版本的演进,其中EJB 2.0是EJB 1.1的重要升级版,带来了诸多改进和新特性,旨在...
- `ejb-3_0-fr-spec-simplified.pdf`:这个版本可能提供了一个简化的EJB3.0规范概述,方便初学者快速理解EJB3.0的关键特性。 通过深入学习这些文档,开发者可以全面掌握EJB3.0规范,有效提升在Java企业级应用开发中...
**EJB3(Enterprise JavaBeans 3)是Java EE(Enterprise Edition)平台中用于构建企业级应用程序的重要组件模型。这个PPT教程详细介绍了EJB3的各种...无论是对于初学者还是经验丰富的开发者,这都是一份宝贵的资源。
Files contained in javax.ejb.jar: META-INF/MANIFEST.MF javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout.class javax.ejb.ActivationConfigProperty.class javax.ejb.AfterBegin.class javax....
"简单易懂"表明这个EJB示例可能采用了清晰的代码结构,简单的业务逻辑,以及良好的注释,使得初学者也能快速理解其工作方式和设计思路。 综上所述,EJB_TEST是一个帮助学习者理解和实践EJB技术的示例项目,涵盖了...
javax.ejb.AccessLocalException.class javax.ejb.CreateException.class javax.ejb.DuplicateKeyException.class javax.ejb.EJBContext.class javax.ejb.EJBException.class javax.ejb.EJBHome.class javax.ejb....
这个“ejb_06.rar”压缩包包含的是一个ejb的示例项目,名为“ejb samp”,特别适合ejb初学者学习。下面将详细介绍EJB的相关知识点以及这个样本项目可能涉及的内容。 1. **EJB概述**: EJB是一种面向服务的组件模型...
【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...
本文旨在深入探讨EJB的核心技术及其在实际应用中的角色分析,为初学者提供全面的入门指南。 **1.1 EJB中的六大角色** - **1.1.1 EJB组件开发者(Enterprise Bean Provider)**:负责设计和实现EJB组件,包括定义其...