/*
 * 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.tuple;

import org.hibernate.annotations.Generated;

A AnnotationValueGeneration which marks a property as generated in the database.
Author:Steve Ebersole, Gunnar Morling
/** * A {@link AnnotationValueGeneration} which marks a property as generated in the database. * * @author Steve Ebersole * @author Gunnar Morling */
public class GeneratedValueGeneration implements AnnotationValueGeneration<Generated> { private GenerationTiming timing; public GeneratedValueGeneration() { } public GeneratedValueGeneration(GenerationTiming timing) { this.timing = timing; } @Override public void initialize(Generated annotation, Class<?> propertyType) { this.timing = annotation.value().getEquivalent(); } @Override public GenerationTiming getGenerationTiming() { return timing; } @Override public ValueGenerator<?> getValueGenerator() { // database generated values do not have a value generator return null; } @Override public boolean referenceColumnInSql() { // historically these columns are not referenced in the SQL return false; } @Override public String getDatabaseGeneratedReferencedColumnValue() { return null; } }