资讯专栏INFORMATION COLUMN

使用JPA + Eclipselink操作PostgreSQL数据库

xavier / 759人阅读

摘要:首先确保您已经安装了。您可以参考我这篇文章扫盲教程。使用创建一个新的选择,作为的之一。

首先确保您已经安装了PostgreSQL。您可以参考我这篇文章PostgreSQL扫盲教程。

使用Eclipse创建一个新的JPA project:

Platform选择EclipseLink,作为JPA的provider之一。

在Eclipse里自动生成的project如下图所示:

用下列xml的内容覆盖自动生成的xml:



    
        org.eclipse.persistence.jpa.PersistenceProvider
        jpatest.Person
        
            
                     
              
              
             
        
    

新建一个Java class:

package jpatest;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "T_PERSON")
@NamedQuery(name = "AllPersons", query = "select p from Person p")
public class Person {
    @Id
    @GeneratedValue
    private long id;
    @Basic
    private String firstName;
    @Basic
    private String lastName;

    public long getId() {
        return id;
    }

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

    public String getFirstName() {
        return this.firstName;
    }

    public void setFirstName(String newFirstName) {
        this.firstName = newFirstName;
    }

    public String getLastName() {
        return this.lastName;
    }

    public void setLastName(String newLastName) {
        this.lastName = newLastName;
    }
}

现在可以写测试程序了:

package jpatest;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class Test {
public static void main(String[] args) {
        
        String persistenceUnitName = "jerryjpa";  
        EntityManagerFactory factory = Persistence.createEntityManagerFactory(persistenceUnitName);  
        EntityManager entityManager = factory.createEntityManager();  
        EntityTransaction transaction = entityManager.getTransaction();  
        transaction.begin();  
       
        Person user = new Person();  
        user.setFirstName("Jerry_SAP");
        user.setLastName("Wang");
        entityManager.persist(user);  
        
        transaction.commit();  
        entityManager.close();  
        factory.close();  
        
        System.out.println("done");
    }
}

成功执行后,在PostgreSQL的Admin UI上能看到测试Java程序里用JPA插入数据库的记录:

本文完整的源代码和所需的库文件可以在我的github上找到。

eclipselink-2.5.1.jar

javax.persistence-2.1.0.jar

postgresql-42.1.1.jar

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39005.html

相关文章

  • 使用JPA + Eclipselink操作PostgreSQL据库

    摘要:首先确保您已经安装了。您可以参考我这篇文章扫盲教程。使用创建一个新的选择,作为的之一。 首先确保您已经安装了PostgreSQL。您可以参考我这篇文章PostgreSQL扫盲教程。 使用Eclipse创建一个新的JPA project: showImg(https://segmentfault.com/img/remote/1460000014744503); Platform选择Ec...

    HmyBmny 评论0 收藏0
  • JDBC + SAP云平台 = 运行在云端的据库应用

    摘要:在前一篇文章云平台运行在云端的数据库应用我介绍了如何通过和操作部署在云平台上的数据库实例。在这篇文章里,我们使用代替和来完成同样的任务。点击该超链接下载。例子程序位于该的文件夹下。 在前一篇文章JPA + EclipseLink + SAP云平台 = 运行在云端的数据库应用我介绍了如何通过JPA和EclipseLink操作部署在SAP云平台上的HANA数据库实例。 在这篇文章里,我们使...

    explorer_ddf 评论0 收藏0
  • 谈谈Spring-Data的那些事儿

    摘要:什么是呢全称,是提出的一个对象持久化规范,各应用服务器自主选择具体实现。仅仅只是一个规范,而不是产品使用本身是不能做到持久化的。只要提供了持久化类与表的映射关系,框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。 我们在进行事务处理往往需要和数据库进行交互,这其中有关系型数据库(MySql,Sql Server,Oracle)或者是非关系型数据库(Redis,Hadhoop)...

    chinafgj 评论0 收藏0

发表评论

0条评论

xavier

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<