/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.cfg;
import java.util.
Map;
import org.hibernate.
MappingException;
import org.hibernate.boot.spi.
MetadataBuildingContext;
import org.hibernate.cfg.annotations.
TableBinder;
import org.hibernate.mapping.
JoinedSubclass;
import org.hibernate.mapping.
SimpleValue;
/**
* @author Emmanuel Bernard
*/
@
SuppressWarnings({"serial", "unchecked"})
public class
JoinedSubclassFkSecondPass extends
FkSecondPass {
private
JoinedSubclass entity;
private
MetadataBuildingContext buildingContext;
public
JoinedSubclassFkSecondPass(
JoinedSubclass entity,
Ejb3JoinColumn[]
inheritanceJoinedColumns,
SimpleValue key,
MetadataBuildingContext buildingContext) {
super(
key,
inheritanceJoinedColumns );
this.
entity =
entity;
this.
buildingContext =
buildingContext;
}
public
String getReferencedEntityName() {
return
entity.
getSuperclass().
getEntityName();
}
public boolean
isInPrimaryKey() {
return true;
}
public void
doSecondPass(
Map persistentClasses) throws
MappingException {
TableBinder.
bindFk(
entity.
getSuperclass(),
entity,
columns,
value, false,
buildingContext );
}
}