001package io.ebean.annotation; 002 003import java.lang.annotation.Retention; 004import java.lang.annotation.RetentionPolicy; 005import java.lang.annotation.Target; 006 007import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 008import static java.lang.annotation.ElementType.TYPE; 009 010/** 011 * Specify a storage engine to use with a specific table. 012 * <p> 013 * Intended for databases like ClickHouse and MySql that have multiple storage engine options. 014 * </p> 015 * <pre>{@code 016 * 017 * @StorageEngine("ENGINE = MergeTree()") 018 * @Entity 019 * public class Orders { 020 * ... 021 * } 022 * 023 * }</pre> 024 */ 025@Target({TYPE, ANNOTATION_TYPE}) 026@Retention(RetentionPolicy.RUNTIME) 027public @interface StorageEngine { 028 029 /** 030 * The platform specific storage engine clause that would be part of create table statements. 031 */ 032 String value(); 033}