Package nl.amis.jpa

Source Code of nl.amis.jpa.TestMultiInsert

package nl.amis.jpa;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

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

import nl.amis.jpa.entities.Departments;

import org.eclipse.persistence.jpa.JpaEntityManager;
import org.eclipse.persistence.jpa.JpaHelper;
import org.eclipse.persistence.platform.database.jdbc.JDBCTypes;
import org.eclipse.persistence.platform.database.oracle.plsql.PLSQLStoredProcedureCall;
import org.eclipse.persistence.queries.DataReadQuery;
import org.eclipse.persistence.sessions.server.ServerSession;


public class TestMultiInsert {
    public TestMultiInsert() {
    }

    public static void main(String[] a) throws Exception {

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("HrMulitDeptService");
        EntityManager em = emf.createEntityManager();

        em.getTransaction().begin();

        List dept = new ArrayList();

        Departments dept1 = new Departments();
        dept1.setDepartmentId(505L);
        dept1.setDepartmentName("amersfoort");
        dept1.setLocationId(1700L);
        dept1.setManagerId(100L);
        dept.add(dept1);

        Departments dept2 = new Departments();
        dept2.setDepartmentId(506L);
        dept2.setDepartmentName("utrecht");
        dept2.setLocationId(1700L);
        dept2.setManagerId(100L);
        dept.add(dept2);

        PLSQLStoredProcedureCall call = new PLSQLStoredProcedureCall();
        call.addNamedArgument("P_RECORDS",
                              DepartmentUtils.departmentCollection(),
                              JDBCTypes.ARRAY_TYPE.getSqlCode());
        call.setProcedureName("HR_DEPARTMENTS.INSERTDEPARTMENTS");

        DataReadQuery databaseQuery = new DataReadQuery();
        databaseQuery.addArgument("P_RECORDS",ArrayList.class);
        databaseQuery.setCall(call);
        Vector args=new Vector();
        args.add(dept);

        ServerSession session =
          ((JpaEntityManager)em.getDelegate()).getServerSession();

        session.addDescriptor(DepartmentUtils.departmentDescriptor());
        // execute
        JpaHelper.getEntityManager(em).getActiveSession().executeQuery(databaseQuery,args);

        em.getTransaction().commit();

        em.close();
        emf.close();
    }

}
TOP

Related Classes of nl.amis.jpa.TestMultiInsert

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.