# 自定义DWS外部函数(pgSQL/Java)使用规则
- 【关注】Java UDF可以实现一些Java逻辑计算，禁止在Java UDF中封装业务。
- 【关注】禁止在Java函数中使用任何方式连接数据库，包括但不限于JDBC。
- 【关注】只能选择下表中的数据类型，不支持自定义类型、复杂数据类型（Java Array类及派生类）等：
- 【关注】不支持UDAF（用户定义聚合函数）、UDTF（用户自定义表生成函数）。
表1**PL/Java默认数据类型映射关系** 
| DWS     | **Java**                                            |
|:---|:---|
| BOOLEAN  | boolean                                            |
| "char"   | byte                                                 |
| bytea    | byte\[\]                                            |
| SMALLINT | short                                              |
| INTEGER    | int                                                  |
| BIGINT    | long                                                 |
| FLOAT4   | float                                              |
| FLOAT8      | double                                              |
| CHAR      | java.lang.String                                    |
| VARCHAR  | java.lang.String                                    |
| TEXT       | java.lang.String                                    |
| name       | java.lang.String                                     |
| DATE      | java.sql.Timestamp                                  |
| TIME      | java.sql.Time (stored value treated as local time) |
| TIMETZ   | java.sql.Time                                       |
| TIMESTAMP  | java.sql.Timestamp                                   |
| TIMESTAMPTZ | java.sql.Timestamp                                  |
   
