org.eclipse.persistence.jpa.dynamic.JPADynamicHelper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.eclipse.persistence.jpa Show documentation
Show all versions of org.eclipse.persistence.jpa Show documentation
EclipseLink build based upon Git transaction ad5b7c6b2a
The newest version!
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// dclarke - Dynamic Persistence INCUBATION - Enhancement 200045
// http://wiki.eclipse.org/EclipseLink/Development/Dynamic
//
// This code is being developed under INCUBATION and is not currently included
// in the automated EclipseLink build. The API in this code may change, or
// may never be included in the product. Please provide feedback through mailing
// lists or the bug database.
package org.eclipse.persistence.jpa.dynamic;
//java eXtension imports
import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
//EclipseLink imports
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.dynamic.DynamicHelper;
import org.eclipse.persistence.dynamic.DynamicType;
import org.eclipse.persistence.jpa.JpaHelper;
/**
*
* @author dclarke
* @since EclipseLink 1.2
*/
public class JPADynamicHelper extends DynamicHelper {
public JPADynamicHelper(EntityManagerFactory emf) {
super(JpaHelper.getServerSession(emf));
}
public JPADynamicHelper(EntityManager em) {
super(JpaHelper.getEntityManager(em).getDatabaseSession());
}
/**
* Add one or more EntityType instances to a session and optionally generate
* needed tables with or without FK constraints.
*/
@Override
public void addTypes(boolean createMissingTables, boolean generateFKConstraints, DynamicType... types) {
super.addTypes(createMissingTables, generateFKConstraints, types);
for (DynamicType type : types) {
ClassDescriptor descriptor = type.getDescriptor();
descriptor.getQueryManager().checkDatabaseForDoesExist();
}
}
}