public final class IdentifierProfile extends Object
封装每个数据库厂商的完整标识符配置,包括:
设计目标:
使用示例:
// 创建 Oracle profile(使用默认 flags)
IdentifierProfile oracleProfile = IdentifierProfile.forVendor(
EDbVendor.dbvoracle,
VendorFlags.defaults()
);
// 创建 MySQL profile(指定 lower_case_table_names)
IdentifierProfile mysqlProfile = IdentifierProfile.forVendor(
EDbVendor.dbvmysql,
new VendorFlags(1, null, false, false) // lower_case_table_names = 1
);
// 查询规则
IdentifierRules tableRules = oracleProfile.getRules(ESQLDataObjectType.dotTable);
| Modifier and Type | Class and Description |
|---|---|
static class |
IdentifierProfile.ObjectGroup
对象组(用于区分不同对象类型的标识符规则)
|
static class |
IdentifierProfile.VendorFlags
Vendor-specific flags(厂商特定配置)
|
| Modifier and Type | Method and Description |
|---|---|
static IdentifierProfile |
forVendor(EDbVendor vendor,
IdentifierProfile.VendorFlags flags)
为指定厂商创建标识符配置档案
|
long |
getFingerprint()
计算配置指纹(用于 TObjectName 缓存失效)
|
IdentifierProfile.VendorFlags |
getFlags()
获取 vendor flags
|
IdentifierRules |
getRules(ESQLDataObjectType objectType)
获取指定对象类型的标识符规则
|
EDbVendor |
getVendor()
获取数据库厂商
|
String |
toString() |
public static IdentifierProfile forVendor(EDbVendor vendor, IdentifierProfile.VendorFlags flags)
vendor - 数据库厂商flags - vendor-specific flagspublic IdentifierRules getRules(ESQLDataObjectType objectType)
objectType - 对象类型public IdentifierProfile.VendorFlags getFlags()
public long getFingerprint()
当 vendor 或 flags 变化时,指纹会改变,触发缓存失效