JdbcConfig.java
/*
* SPDX-FileCopyrightText: 2025 kaumei.io
* SPDX-License-Identifier: Apache-2.0
*/
package io.kaumei.jdbc.annotation.config;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE})
public @interface JdbcConfig {
/**
* The default suffix for generated implementation classes.
*/
String DEFAULT_GENERATED_CLASS_SUFFIX = "$Jdbc";
Class<?> parent() default void.class;
Class<?>[] converter() default {};
// ------------------------------------------------------------------------
/**
* Suffix for generated implementation classes.
*/
String generatedClassSuffix() default DEFAULT_GENERATED_CLASS_SUFFIX;
// ------------------------------------------------------------------------
/**
* How generated values are returned.
*/
GeneratedValues returnGeneratedValues() default GeneratedValues.DEFAULT;
// ------------------------------------------------------------------------
/**
* Maximum number of JDBC placeholders produced by one array or list expansion.
*/
int maxCollectionPlaceholders() default 1_000;
/**
* Maximum total number of JDBC placeholders in one generated method call.
*/
int maxTotalPlaceholders() default 2_000;
enum GeneratedValues {
/**
* Use the configured default behaviour.
*/
DEFAULT,
/**
* Return JDBC generated keys.
*/
GENERATED_KEYS,
/**
* Return values from the SQL query result.
*/
EXECUTE_QUERY
}
// ------------------------------------------------------------------------
}