All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nz.co.gregs.dbvolution.exceptions.UnableToInterpolateReferencedColumnInMultiColumnPrimaryKeyException Maven / Gradle / Ivy

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package nz.co.gregs.dbvolution.exceptions;

import java.util.List;
import nz.co.gregs.dbvolution.DBRow;
import nz.co.gregs.dbvolution.datatypes.QueryableDatatype;
import nz.co.gregs.dbvolution.internal.properties.JavaProperty;
import nz.co.gregs.dbvolution.internal.properties.PropertyWrapperDefinition;
import nz.co.gregs.dbvolution.internal.properties.RowDefinitionClassWrapper;

/**
 *
 * 

Support DBvolution at * Patreon

* * @author gregorygraham */ public class UnableToInterpolateReferencedColumnInMultiColumnPrimaryKeyException extends DBRuntimeException { private static final long serialVersionUID = 1L; public UnableToInterpolateReferencedColumnInMultiColumnPrimaryKeyException(JavaProperty adaptee, RowDefinitionClassWrapper referencedClassWrapper, PropertyWrapperDefinition[] primaryKeys) { super("Property " + adaptee.qualifiedName() + " references class " + referencedClassWrapper.javaName() + " using an implicit primary key reference, but the referenced class has " + primaryKeys.length + " primary key columns and none are similar to the FK column name. You must use an explicit column name in the @DBForeignKey."); } public UnableToInterpolateReferencedColumnInMultiColumnPrimaryKeyException(DBRow aThis, List> primaryKeys) { throw new UnsupportedOperationException(" Class " + aThis.getClass().getCanonicalName() + "has a " + primaryKeys.size() + "columns in it's primary key but an attempt has been made to reference the PK as a single column. Switch to a multi-column method to set the PK columns"); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy