`
spoony_peng
  • 浏览: 5056 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Ejb 复合主键 注解

ejb 
阅读更多
@Entity
public class Fighter {
private Integer id;
private AirLine line;
private String fName;

@Id @GeneratedValue
public Integer getId() {
   return id;
}

public void setId(Integer id) {
   this.id = id;
}
@ManyToOne(optional=false)
@JoinColumns(")})
public AirLine getLine() {
   return line;
}

public void setLine(AirLine line) {
   this.line = line;
}

public String getfName() {
   return fName;
}

public void setfName(String fName) {
   this.fName = fName;
}

}

@Embeddable
public class AirLinePK implements Serializable{
private String startcity;
private String endcity;

public String getStartcity() {
   return startcity;
}

public void setStartcity(String startcity) {
   this.startcity = startcity;
}

public String getEndcity() {
   return endcity;
}

public void setEndcity(String endcity) {
   this.endcity = endcity;
}

@Override
public int hashCode() {
   final int prime = 31;
   int result = 1;
   result = prime * result + ((endcity == null) ? 0 : endcity.hashCode());
   result = prime * result + ((startcity == null) ? 0 : startcity.hashCode());
   return result;
}

@Override
public boolean equals(Object obj) {
   if (this == obj)
    return true;
   if (obj == null)
    return false;
   if (getClass() != obj.getClass())
    return false;
   AirLinePK other = (AirLinePK) obj;
   if (endcity == null) {
    if (other.endcity != null)
     return false;
   } else if (!endcity.equals(other.endcity))
    return false;
   if (startcity == null) {
    if (other.startcity != null)
     return false;
   } else if (!startcity.equals(other.startcity))
    return false;
   return true;
}

}

@Entity
public class AirLine {
private AirLinePK id;
private String name;
private Set<Fighter> fighters = new HashSet<Fighter>();

@OneToMany(cascade=CascadeType.ALL)
public Set<Fighter> getFighters() {
   return fighters;
}

public void setFighters(Set<Fighter> fighters) {
   this.fighters = fighters;
}

@EmbeddedId
public AirLinePK getId() {
   return id;
}

public void setId(AirLinePK id) {
   this.id = id;
}

public String getName() {
   return name;
}

public void setName(String name) {
   this.name = name;
}

}
分享到:
评论

相关推荐

    EJB 注释精解(pdf版)

    为了实现复合主键,需要编写一个复合主键类(CompositePrimaryKeyClass),并遵循以下规则: - **复合主键类要求**: - 必须实现`Serializable`接口。 - 提供一个无参数构造函数。 - 实现所有必要的属性和方法,...

    EJB中的注释.pdf

    ### EJB中的注释知识点详解 #### 一、EJB注解概述 EJB(Enterprise JavaBeans)是一种Java EE服务器端应用模型,用于构建可移植的企业级应用。EJB 3.0引入了大量的注解(annotation),使得开发变得更加简单直观。...

    EJB学习源代码

    源代码可能涉及如何在EJB实体bean中定义和处理复合主键。 7. **EmbeddedEJB3**:这部分可能涉及到EJB 3.0规范,该规范简化了EJB的使用,减少了XML配置,引入了依赖注入等特性。源码可能展示了如何在EJB 3.0环境中...

    EJB3-SourceCode

    EJB3.0支持注解定义复合主键,使得处理多字段主键变得简单。 3. **定时服务** - `TimerService`是EJB3.0的一项功能,允许在应用程序中设置定时任务。通过使用`@Schedule`注解,可以在实体bean或无状态会话bean中...

    EJB3.0实例教程及源代码

    8. **复合主键(CompositePK)**:在某些情况下,实体Bean可能需要多个字段作为主键,这可以通过定义复合主键类并使用@Embeddable和@IdClass注解来实现。 9. **定时服务(TimerService)**:EJB 3.0提供了一个定时...

    EJB3.0入门图文教程

    6. **实体bean(Entity Beans)**:代表数据库中的持久化对象,EJB3.0中实体bean通过JPA进行管理,可以是无主键的,也可以是基于单个字段的主键或复合主键。 **EJB3.0开发实例:** - **Session Bean**:通过`@...

    ejb开发使用手册,非常适合初学者

    对于实体Bean的主键和实体标识,EJB支持单主键和复合主键。单主键通常使用`@Id`注解来标记,如果主键由多个属性组成,则使用`@IdClass`或`@EmbeddedId`来定义复合主键。例如: ```java @Entity @Table(name="Hello...

    EJB 3.0 持久性 API

    EJB 3.0支持多种主键策略,包括自动生成(@GeneratedValue)、单字段主键、复合主键(@EmbeddedId或@IdClass)等。 5. **关系映射**: EJB 3.0支持多种关系映射,如一对一(@OneToOne)、一对多(@OneToMany)、多...

    最新EJB3.0实例教程的实例代码

    `CompositePK`类可能包含了这些属性,通过实现`Serializable`接口和`@Embeddable`注解,确保了复合主键的正确序列化和持久化。 3. **定时服务(TimerService)** EJB3.0引入了`TimerService`,使得开发者可以方便...

    ejb3.0实例教程源码

    2. **CompositePK** - 在ejb3.0中,实体bean可以使用复合主键(Composite Key)。`CompositePK`类可能表示这种复合主键的实现,它包含多个字段,每个字段都可能是主键的一部分。 3. **TimerService** - ejb3.0引入...

    EJB3.0实例教程 源代码

    EJB3.0提供了支持复合主键的机制,使得处理多个属性的唯一标识变得简单。 #### 2.4 `Interceptor` 拦截器是EJB3.0中的另一个强大功能,它们允许在方法调用前后插入自定义逻辑。`Interceptor`示例解释了如何创建...

    eib3.0中的注解

    复合主键要求开发者自定义一个复合主键类。 - **示例**: ```java @Embeddable public class CompositeKey implements Serializable { private String part1; private int part2; // Getter and Setter ...

    《EJB3.0实例子教程》愿代码

    每个包含复合主键的实体bean需要在主键类上使用`@IdClass`注解。 3. **TimerService**:EJB 3.0引入了定时器服务,允许开发者安排任务在将来某个时间执行。`TimerService`接口提供了创建定时任务的方法,这些任务...

    ejb3.0

    8. **复合主键**:介绍了如何使用复合主键来唯一标识实体Bean。 9. **Web服务**:包括如何创建和调用Web服务,以及使用Java和ASP进行调用的方法。 #### 四、总结 EJB 3.0 的引入标志着企业级Java开发进入了一个新...

    EJB3.0持久化开发手册

    这包括实体事件监听器、继承策略、复合主键、多租户支持、级联操作、懒初始化异常等更复杂的概念,这些都是EJB3.0持久化开发手册中会详细讲解的内容。 通过学习《EJB3.0持久化开发手册》,开发者能够掌握如何利用...

Global site tag (gtag.js) - Google Analytics