`
somefuture
  • 浏览: 1090043 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(翻译)Spring到Java EE的迁移(一)__续

 
阅读更多

续前节。

 

我们看到,NetBeans通过自动生成JPA实体为我们节省了大量时间。 “Don’t use wizard code you don’t understand.”———Andrew Hunt and Dave Thomas

 

咱们看看生成的实体代码,你自己理解一下。

Listing 1. Examining a Generated Entity

package com.ensode.petclinicjavaee.entity;   //imports omitted for brevity   @Entity
@Table(name = "owners", catalog = "petclinic", schema = "")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Owner.findAll", query = "SELECT o FROM Owner o"),
    @NamedQuery(name = "Owner.findById",
        query = "SELECT o FROM Owner o WHERE o.id = :id"),
    @NamedQuery(name = "Owner.findByFirstName",
        query = "SELECT o FROM Owner o WHERE o.firstName = :firstName"),
    @NamedQuery(name = "Owner.findByLastName",
        query = "SELECT o FROM Owner o WHERE o.lastName = :lastName"),
    @NamedQuery(name = "Owner.findByAddress",
        query = "SELECT o FROM Owner o WHERE o.address = :address"),
    @NamedQuery(name = "Owner.findByCity",
        query = "SELECT o FROM Owner o WHERE o.city = :city"),
    @NamedQuery(name = "Owner.findByTelephone",
        query = "SELECT o FROM Owner o WHERE o.telephone = :telephone")})
 public class Owner implements Serializable {     private static final long serialVersionUID = 1L;     @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @NotNull
    @Column(name = "id", nullable = false)
     private Integer id;     @Size(max = 30)
    @Column(name = "first_name", length = 30)
    private String firstName;     @Size(max = 30)
    @Column(name = "last_name", length = 30)
    private String lastName;     @Size(max = 255)
    @Column(name = "address", length = 255)
    private String address;     @Size(max = 80)
    @Column(name = "city",
 length = 80)     private String city;     @Size(max = 20)
    @Column(name = "telephone", length = 20)
    private String telephone;     @OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
    private Collection<Pet> petCollection;    

   public Owner() {     }    

  public Owner(Integer id) {         this.id = id;     }       //getters and setters omitted for brevity      

 @Override     public int hashCode() {         int hash = 0;         hash += (id != null ? id.hashCode() : 0);         return hash;     }      

 @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 Owner)) {             return false;         }         Owner other = (Owner) object;         if ((this.id == null && other.id != null) ||               (this.id != null && !this.id.equals(other.id))) {             return false;         }         return true;     }       @Override     public String toString() {         return "com.ensode.petclinicjavaee.entity.Owner[ id=" + id + " ]";     }   }


这些代码很平淡,很俗,只是标准JavaBean,带着私有属性和公开的getter和setter.关键是注解。.(对注解的理解请看原文http://www.oracle.com/technetwork/articles/java/springtojavaee-522240.html)

 

Conclusion

 

看到了吧,使用JPA和NetBeans开发数据层多简单,因为NB向导帮我们生成了大部分代码。在后面的第二部分,我们将看到NB帮我们生成其他层。 

 

分享到:
评论

相关推荐

    Java EE technologies and migrating Java EE

    在"Java EE technologies and migrating Java EE"的主题中,我们关注的是如何利用这些技术以及如何将现有的Java EE应用迁移到新的架构或平台。Java EE的发展历程中,经历了多次重大更新,例如从Java EE 6到Java EE 8...

    MyEclipse 6 Java EE 开发中文手册 更新到第十章

    《MyEclipse 6 Java EE 开发中文手册》是一份详尽的开发指南,专为使用MyEclipse 6进行Java EE应用程序开发的开发者提供。MyEclipse是Eclipse集成开发环境(IDE)的一个强大扩展,它包含了大量用于构建、测试和部署...

    spring-migration-analyzer:Spring Migration Anaylzer 是一个用于分析 Java EE 应用程序的命令行工具。 它生成一份报告,描述应用程序以及如何将其迁移到 Spring

    Spring Migration Anaylzer 是一个用于分析 Java EE 应用程序的命令行工具。 它生成一份报告,描述应用程序以及如何将其迁移到 Spring。 下载 用法 要开始使用迁移分析器,请执行以下操作以获取使用信息: unzip ...

    MyEclipse 6 java EE 开发中文手册

    它提供了强大的功能集,能够支持各种Java EE技术栈的应用开发,包括但不限于Servlets、JSP、EJB、JMS、Spring框架、Hibernate框架等。 - **特点**: - 集成的开发环境:MyEclipse集成了Eclipse的核心功能,并在此...

    2020年java虚拟机生态系统报告_jvm_2020.pdf

    12. **企业Java**:包括对J2EE、Java EE和Jakarta EE的使用情况,以及对Oracle和Eclipse基金会关于javax命名空间分歧的看法。 13. **多语言应用**:现代应用程序常常使用多种语言,报告列举了其他可能的语言,如...

    Spring_Hibernate_Struts2整合

    【Spring_Hibernate_Struts2整合】是Web开发中常见的技术栈整合,主要涉及Spring、Hibernate和Struts2这三个主流的Java EE框架。整合这三大框架可以让应用具备强大的数据持久化能力、灵活的业务逻辑处理以及高效的...

    spring开发jar包

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、易扩展和依赖注入特性著称,极大地简化了企业级应用的开发。"spring开发jar包"指的是Spring框架的库文件,通常包含一系列的.jar文件,这些文件包含了Spring...

    Spring 2.5.6和3.0 所有的jar包

    Spring框架是Java开发中不可或缺的一部分,它为开发者提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问以及Web应用支持等。这里提到的是Spring 2.5.6和3.0两个版本的jar包集合,这两个版本分别...

    spring in action(英文版).pdf

    1. **Spring框架概述**:Spring是一个开源的应用框架,旨在简化Java EE(企业版)应用程序的开发。它提供了一个分层架构,允许开发者选择使用哪些组件,而不会被迫采用整个框架。 2. **依赖注入(Dependency ...

    spring-framework-4.3.8.RELEASE-jar.zip

    Spring是一个开源的Java平台,它简化了创建和管理Java EE应用程序的过程。其核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP),这使得代码更加简洁,可测试性...

    spring-framework-3.0.2||-4.2.4.RELEASE-dependencies.zip

    Spring框架是Java开发中最广泛...如果你正在维护一个基于Spring 3.0.2的项目,考虑升级到4.2.4时,需要评估迁移成本和新功能的收益;如果你正在启动新项目,4.2.4可能是更好的选择,因为它提供了更多的现代特性和支持。

    day40_spring.zip

    在本压缩包“day40_spring.zip”中,我们主要关注的是Spring框架,这是一个广泛应用于Java开发领域的软件框架,以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)...

    带你了解Springboot3.0新特性

    Spring Boot 3.0 依赖的java 17 并且迁移到了Jakarta命名空间,这是计划将生态依赖JAVA 8 升级到JAVA 17 重大修订,基于Spring框架6.0 他将是第一个使用Jakarta EE 9 APIs(jakarta.* )的Spring Boot 版本,而不再...

    Apress Pro Spring dm Server 2009

    在深入部分,书中的例子涵盖了如何将传统Java EE应用迁移到Spring dm Server,以及如何利用OSGi的优势进行微服务架构的设计。此外,还可能涉及到与Spring Framework的集成,如Spring MVC、Spring AOP和Spring JDBC等...

    MongoDB与Spring整合

    而Spring框架是Java领域中广泛使用的应用框架,它提供了一种优雅的方式来管理应用的配置和服务。当我们将MongoDB与Spring整合时,可以充分利用Spring的依赖注入和数据访问抽象,简化MongoDB在Java应用中的使用。 ...

    mysql-java-8.0.11.zip

    - 基于Java的Web应用程序(如Spring Boot或Java EE应用)需要连接到MySQL数据库存储和检索数据。 - Java桌面应用程序需要本地数据库支持。 - 数据库迁移或备份工具,这些工具使用Java编写并需要连接到MySQL服务器。 ...

    外文翻译-Java and the Internet.doc

    JSF简化了开发复杂的Web应用程序的过程,并与Java EE平台紧密集成,提供了丰富的组件库和事件处理机制。 随着Web应用的复杂性增加,Spring框架应运而生。Spring框架提供了全面的企业级应用开发解决方案,包括依赖...

    jsf-spring-boot-starter-2.2.6.zip

    【标题】"jsf-spring-boot-starter-2.2.6.zip" 是一个基于Java Server Faces (JSF) 和Spring Boot的启动器项目,版本为2.2.6。这个压缩包通常包含了用于快速搭建JSF应用在Spring Boot环境中的必要组件和配置。 ...

    一个纯JAVA写的产品管理系统

    4. **Spring框架**:一个核心的Java EE框架,用于简化企业级应用开发,提供依赖注入、AOP(面向切面编程)、事务管理等功能。 5. **Hibernate或MyBatis**:ORM(对象关系映射)框架,将数据库操作与业务逻辑解耦,...

Global site tag (gtag.js) - Google Analytics