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

org.hibernate.annotations.ColumnDefault Maven / Gradle / Ivy

There is a newer version: 6.6.2.Final
Show newest version
/*
 * 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 .
 */
package org.hibernate.annotations;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * Specifies that a column has a {@code default} value specified in DDL.
 * 

* {@code @ColumnDefault} may be used in combination with: *

    *
  • {@link DynamicInsert @DynamicInsert}, to let the database fill in * the value of a null entity attribute, or *
  • {@link Generated @Generated}, to populate an entity attribute with * the defaulted value of a database column. *
*

* If {@code @Generated} is not used, a {@code default} value can cause state * held in memory to lose synchronization with the database. * * @author Steve Ebersole * * @see GeneratedColumn * @see DialectOverride.ColumnDefault */ @Target( {FIELD, METHOD} ) @Retention( RUNTIME ) public @interface ColumnDefault { /** * The {@code default} value to use in generated DDL. * * @return a SQL expression that evaluates to the default column value */ String value(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy