[找程序员代写推荐]JPA相关课程 代码_dfu54516的博客-程序员秘密

完整测试项目可在这里下载:http://download.csdn.net/detail/liangrui1988/6542729


部分代码:


META-INF

persistence.xml

<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"    version="1.0">    <persistence-unit name="rui" transaction-type="RESOURCE_LOCAL">    <!--  全局事务配置       <jta-data-source>java:/DefaultDS</jta-data-source> -->       <properties>         <!-- hibernate config org.hibernate.dialect.HSQLDialect         org.hibernate.dialect.MySQLDialect         -->          <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>          <property name="hibernate.hbm2ddl.auto" value="update"/>          <property name="show_sql" value="true"/>                     <!-- database config -->          <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>          <property name="hibernate.connection.username" value="juxun"/>          <property name="hibernate.connection.password" value="rui"/>          <property name="hibernate.connection.url" value="jdbc:oracle:thin:@127.0.0.1:1521:ABC"/>                         <!--   <property name="hibernate.max_fetch_depth" value="3"/> -->               </properties>    </persistence-unit> </persistence> 



ManyToMany


package com.rui.ManyToMany;  import java.util.HashSet; import java.util.Set;  import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany;  import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter;  @Entity @GenericGenerator(name = "stuId", strategy = "sequence",[email protected](name="sequence",value="preson_id")) public class Student {    private Integer id;  private String name;  private Set<Teacher> teacher=new HashSet<Teacher>();      @Id  @GeneratedValue(generator="stuId")  public Integer getId() {   return id;  }  public void setId(Integer id) {   this.id = id;  }  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }    @ManyToMany(cascade={CascadeType.REFRESH})  //@JoinTable(name="stu_tea")  @JoinTable(name="stu_tea",[email protected](name="tea_id")  ,[email protected](name="stu_id"))  public Set<Teacher> getTeacher() {   return teacher;  }    public void setTeacher(Set<Teacher> teacher) {   this.teacher = teacher;  }    //添加学生和老师的关系   public void addTeacher(Teacher te){   this.teacher.add(te);    }   //解除学生跟老师的关系  public void removeTeacher(Teacher te){   if(this.teacher.contains(te)){    this.teacher.remove(te);   }  }    } 

package com.rui.ManyToMany;  import java.util.HashSet; import java.util.Set;  import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToMany;  import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter;  @Entity @GenericGenerator(name = "teaId", strategy = "sequence",[email protected](name="sequence",value="preson_id")) public class Teacher {    private Integer id;  private  String name;   private Set<Student> student=new HashSet<Student>();    @Id  @GeneratedValue(generator="teaId")  public Integer getId() {   return id;  }  public void setId(Integer id) {   this.id = id;  }  @Column(length=10,nullable=false)  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }    //被维护端 mappedBy  (Teacher)老师被学生维护 (Student)  @ManyToMany(cascade={CascadeType.REFRESH},mappedBy="teacher")  public Set<Student> getStudent() {   return student;  }  public void setStudent(Set<Student> student) {   this.student = student;  }      //为hash分区  @Override  public int hashCode() {   final int prime = 31;   int result = 1;   result = prime * result + ((id == null) ? 0 : id.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;   Teacher other = (Teacher) obj;   if (id == null) {    if (other.id != null)     return false;   } else if (!id.equals(other.id))    return false;   return true;  }          } 

package com.rui.ManyToMany;  import static org.junit.Assert.*;  import java.util.HashSet; import java.util.Set;  import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;  import org.junit.Test;  import com.rui.ManyToOne.Order; import com.rui.ManyToOne.OrderItem;  public class ManyToManyTest {   @Test  public void test() {   EntityManagerFactory emf=Persistence.createEntityManagerFactory("rui");    EntityManager em= emf.createEntityManager();    em.getTransaction().begin();        Teacher te=new Teacher();    te.setName("刘老师");    Teacher te2=new Teacher();    te.setName("李老师");    em.persist(te);    //给学生分两个老师    Student stu=new Student();    stu.setName("小明");    //stu.getTeacher().add(te);//学生加老师    //stu.getTeacher().add(te2);        em.persist(stu);//保存学生        em.getTransaction().commit();        em.close();    emf.close();   System.out.println("ok....");  }      /**   * 建立关系   */  @Test  public void addRe(){   EntityManagerFactory emf=Persistence.createEntityManagerFactory("rui");    EntityManager em= emf.createEntityManager();    em.getTransaction().begin();      Student st=em.find(Student.class,46);//获取一个学生      //刷新对象 获得老师 并建立关系   st.addTeacher(em.getReference(Teacher.class,47));      em.getTransaction().commit();      em.close();   emf.close();  System.out.println("ok....");  }      /**   * 删除关系   */  @Test  public void removeRe(){   EntityManagerFactory emf=Persistence.createEntityManagerFactory("rui");    EntityManager em= emf.createEntityManager();    em.getTransaction().begin();     Student st=em.find(Student.class,46);//获取一个学生     st.removeTeacher(em.getReference(Teacher.class,45));//刷新对象 并建立关系     em.getTransaction().commit();     em.close();   emf.close();  System.out.println("ok....");  }     /**   * 删除老师   */  @Test  public void deleteTeacher(){   EntityManagerFactory emf=Persistence.createEntityManagerFactory("rui");    EntityManager em= emf.createEntityManager();    em.getTransaction().begin();   //先解除关系才能删除老师     Student st=em.find(Student.class,46);//获取一个学生      st.removeTeacher(em.getReference(Teacher.class,45));   //删除老师   em.remove(em.getReference(Teacher.class,45));    em.getTransaction().commit();     em.close();   emf.close();  System.out.println("ok....");  }         /**   * 删除学生   */  @Test  public void deleteStudent(){   EntityManagerFactory emf=Persistence.createEntityManagerFactory("rui");    EntityManager em= emf.createEntityManager();    em.getTransaction().begin();      Student st=em.find(Student.class,46);//获取一个学生         //删除 学生 关系维护端 有权利操作外健   em.remove(st);    em.getTransaction().commit();     em.close();   emf.close();  System.out.println("ok....");  } } 

ManyToOne

==========================================

package com.rui.ManyToOne;  import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne;  @Entity public class OrderItem {    private Integer id;  private String productName;//产品名称  private Float sellPrice;//销售价格  private Order order;//订单    @Id  //@Column(name="ids",length=8)  public Integer getId() {   return id;  }  public void setId(Integer id) {   this.id = id;  }  public String getProductName() {   return productName;  }  public void setProductName(String productName) {   this.productName = productName;  }  public Float getSellPrice() {   return sellPrice;  }  public void setSellPrice(Float sellPrice) {   this.sellPrice = sellPrice;  }  //optional =true 可选 ,存放的值可以为null(外健)  @ManyToOne(cascade={CascadeType.REFRESH,CascadeType.MERGE}  ,optional=false)  @JoinColumn(name="order_id") //关联字段  外健id  public Order getOrder() {   return order;  }  public void setOrder(Order order) {   this.order = order;  }      } 

package com.rui.ManyToOne;  import java.util.HashSet; import java.util.Set;  import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table;  @Entity @Table(name="orders") public class Order {  private String orderId;  private Float amount;  private Set<OrderItem> item=new HashSet<OrderItem>();    @Id  @Column(name="order_id",length=8)  public String getOrderId() {   return orderId;  }  public void setOrderId(String orderId) {   this.orderId = orderId;  }  @Column(nullable=false)  public Float getAmount() {   return amount;  }  public void setAmount(Float amount) {   this.amount = amount;  }  /**   * alter table OrderItem   * add constraint pk_order foreign key order   * reference order(orderId)   * 一个订单对应多个订单项   * 多个订单项对应一个订单   * @return   */  //那个类出现了mappedBy 就是关系被维护端    //order 指定这个属性来维据关系   @OneToMany(cascade={CascadeType.REFRESH,CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE}   ,fetch=FetchType.LAZY,mappedBy="order")  public Set<OrderItem> getItem() {   return item;  }  public void setItem(Set<OrderItem> item) {   this.item = item;  }    public void addOrderItem(OrderItem oi){      oi.setOrder(this);//送来的订单项对象里加入 订单   this.item.add(oi);//添加订单   里的订单项  }            } 

package com.rui.ManyToOne;  import static org.junit.Assert.*;  import java.util.UUID;  import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;  import org.junit.Test;  public class OneToManyTest {  @Test  public void test() {   EntityManagerFactory emf=Persistence.createEntityManagerFactory("rui");    EntityManager em= emf.createEntityManager();    em.getTransaction().begin();      Order order=new Order();   order.setOrderId("888");//UUID.randomUUID().toString()   order.setAmount(90F);      OrderItem oi=new OrderItem();   oi.setId(20);   oi.setProductName("ipone");   oi.setSellPrice(5888F);   //oi.setOrder(order);      OrderItem oi2=new OrderItem();   oi2.setId(21);   oi2.setProductName("ipone6");   oi2.setSellPrice(6888F);      //订单里加入订单项   order.addOrderItem(oi);   order.addOrderItem(oi2);   //插入订单   em.persist(order);   em.getTransaction().commit();      emf.close();  System.out.println("ok....");  }  } 

==================

复合主健

package com.rui.compositePK;  import javax.persistence.EmbeddedId; import javax.persistence.Entity;  @Entity public class AriLine {    private AriLinePK id;//这里把复合主健看成一个整体 用一个类来描述它  private String name;      public AriLine(){}    public AriLine(String stratCity,String endCity,String name){   this.id=new AriLinePK(stratCity,endCity);         this.name=name;    }    @EmbeddedId //可嵌入的类 id  public AriLinePK getId() {   return id;  }  public void setId(AriLinePK id) {   this.id = id;  }  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }          } 


转载于:https://www.cnblogs.com/java20131201/p/3476040.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dfu54516/article/details/102133987

智能推荐

mathjs解决js当中计算精度问题_mathjs format_小鱼儿同学啦的博客-程序员秘密

总结一下今天项目当中 js 计算精度问题问题是:在 js 当中 12 * 0.1 != 1.2的问题1. 使用mathjs解决使用mathjs 可以解决这个问题 安装依赖 npm install mathjs --save 在需要解决精度问题的页面引入 mathjs: const math = require('mathjs') 使用math.format方法 如:...

Spring Cloud(注册服务(Eureka)和负载均衡(Ribbon))_Shiiic的博客-程序员秘密

简介Spring Cloud是Spring旗下的项目之一,官网地址:http://projects.spring.io/spring-cloud/Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中。Spring Cloud也是一样,它将现在非常流行的一些技术整合到一起,实现了诸如:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能。其主要涉及的组件包括:1.Eureka:注册中心2.Zuul:服务网关3.Ribbon:负载均衡4.Feign:服

php 数组分页_Super_boy_son的博客-程序员秘密

/** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * count每页多少条数据∗count每页多少条数据∗count 每页多少条数据 * page 当前第几页 * array查询出来的所有数组∗order0−不变1−反序∗array查询出来的...

向指定窗口发送模拟键盘按键消息_向指定窗口发送按键_进击的乌龟的博客-程序员秘密

//根据窗口标题找到对应窗口的句柄HWND hq = FindWindow(NULL, title);if (hq != NULL){ cout << "找到对应窗口";}else{ cout << "没找到对应窗口";}//通过句柄向指定窗口发送模拟键盘按键消息SendMessage(hq, WM_KEYDOWN, 'L', 0);------------

EC_ciltr的博客-程序员秘密

/** * */package com.citi.util;import java.awt.Color;import java.awt.Component;import java.awt.Image;import java.awt.Point;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import

随便推点

Linux:shell编程break命令和continue命令_shell中break和continue_ahyo的博客-程序员秘密

break 命令和continue命令break命令break命令可以使脚本从循环体中退出来,其语法格式如下:break [n]其中,n表示要跳出n层循环。默认值是1,表示跳出一层循环。若n=3,则表示一次跌出3层循环。执行break命令时,是从包含它的那个循环体中向外跳出。下面的脚本按反向印出命令行中给出的参数。count=$#cmd=echowhile truedo cmd="$cmd \$$count " ((count=count -1))

设备驱动的艺术之旅 - Watch Dog 的 NMI 应用场景_nmi设备_Keven2116的博客-程序员秘密

From: 设备驱动的艺术之旅一、硬件描述1、器件品牌意法半导体 – STM706T/S/R。 2、硬件原理连接图 信号管教描述: MR :低有效收到复位! WDI:遇到一个上升沿/下降沿,内部定时器将清零。1.6s不发生跳变,溢出,WDO输出。 WDO:WDI1.6s不发生跳变,输出低。VCC低于1.2V 输出低。 RST:高有效,复位信号只能被VCC或者MR触发,WDO输出低

二极管的替换选择_二极管替代怎么选_z小勇的博客-程序员秘密

二极管在电路中的应用是必不可少的,无论是做整流电路还是钳位作用还是其他的一些作用,都会用到它。二极管可分为发光二极管(LED),整流二极管,稳压二极管,开关二极管,肖特基二极管等等。所以在更换二极管的时候要用型号的更换二极管,下面就介绍下选配二极管时要注意什么?    1.对于进口二极管,先查手册,如无进口的,选用国产二极管来代替,也可以根据二极管在电路中的作用以及主要参数要求,先用参数相近的...

线程编程之读写锁_pthread_rwlock 阻塞在写锁_小帅比simon的博客-程序员秘密

读写锁与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。的并行读写锁状态:一把读写锁具备三种状态:    1. 读模式下加锁状态 (读锁)    2. 写模式下加锁状态 (写锁)    3. 不加锁状态读写锁特性:    读写锁是"写模式加锁"时, 解锁前,所有对该锁加锁的线程都会被阻塞。读写锁是"读模

php json 处理函数_nailwl的博客-程序员秘密

<br />对于JSON(JavaScript Object Notation)大家应该不陌生,它是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于 PHP的serialize是将变量序列化,返回一个具有变量类型和结构的字符串表达式,说起来两者都是以一种字符串的方式来体现一种数据结构,那它们之间有什么区别呢。先从JSON说起,看一个简单的实例。例一:“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对

复现《Deep Leakage from Gradients》的攻击实验_dlg复现_@_@呜呜的博客-程序员秘密

复现《DeepLeakagefromGradients》的攻击实验DeepLeakagefromGradients在GitHub上找到一个在pytorch实现《DeepLeakagefromGradients》论文中对CIFAR100数据集攻击的实验,加上了自己的理解class LeNet(nn.Module):def __init__(self): super(LeNet, self).__init__() act = nn.Sigmoid self.body = nn.

推荐文章

热门文章

相关标签