JPA的实体关系

实体之间的关系:
1、@ManyToOne 多对一  (多个学生对应一个学校)
      @OneToMany一对多关系(一个校长对应多位同学)
      @OneToOne一对一关系(一个学生只有一个学号)
     @ManyToMany多对多关系(多个人对应多个兴趣爱好)
2、JPA实体管理器
    主要模块:(1)模型或POJO(2)持久化Persistence.xml(3)服务就是增删改查
Employee.java类
package com.yiibai.eclipselink.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table
public class Employee
{
   @Id
   @GeneratedValue(strategy= GenerationType.AUTO)
   private int eid;
   private String ename;
   private double salary;
   private String deg;
   public Employee(int eid, String ename, double salary, String deg)
   {
   super( );
   this.eid = eid;
   this.ename = ename;
   this.salary = salary;
   this.deg = deg;
   }
  
   public Employee( )
   {
   super();
   }
  
   public int getEid( )
   {
   return eid;
   }
   public void setEid(int eid) 
   {
   this.eid = eid;
   }
    public String getEname( )
   {
   return ename;
   }
   public void setEname(String ename)
   {
   this.ename = ename;
   }
  
   public double getSalary( )
   {
   return salary;
   }
   public void setSalary(double salary)
   {
   this.salary = salary;
   }
  
   public String getDeg( )
   {
   return deg;
   }
   public void setDeg(String deg)
   {
   this.deg = deg;
   }
   @Override
   public String toString() {
   return "Employee [eid=" + eid + ", ename=" + ename + ", salary="
   + salary + ", deg=" + deg + "]";
   }
}
使用@Entity注解,使这个POJO类为实体


(2)持久化操作:用于与一个数据库进行交互持久性操作,它们加载和

存储操作,在一个业务组件,所有的持久化操作属于服务类。


//创建一个服务类,添加一条记录



package com.yiibai.eclipselink.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.yiibai.eclipselink.entity.Employee;

public class CreateEmployee
{
   public static void main( String[ ] args )
   {
   EntityManagerFactory emfactory = Persistence.
   createEntityManagerFactory( "Eclipselink_JPA" );
   EntityManager entitymanager = emfactory.
   createEntityManager( );
   entitymanager.getTransaction( ).begin( );
  
   Employee employee = new Employee( );
   employee.setEid( 1201 );
   employee.setEname( "Gopal" );
   employee.setSalary( 40000 );
   employee.setDeg( "Technical Manager" );
   entitymanager.persist( employee );
   entitymanager.getTransaction( ).commit( );
  
   entitymanager.close( );
   emfactory.close( );
   }
}
(3)java 持久化查询语句(JPQL)他被用来创建针对实体的查询存储在关系数据库中

JPQL是基于SQL语法的发展。但它不会直接影响到数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值