Describe the bug
【TenantCapacityPersistService 】 class method 【insertTenantCapacity】current using Statement.RETURN_GENERATED_KEYS exist other database type not incompatible question。
TenantCapacityPersistService类中的insertTenantCapacity方法,为了获取返回的主键,使用了这方法,这个方式在其他数据库上存在不兼容的问题,建议更改
Expected behavior
为了以后方便,期待这块可以改成通用的代码。
Actually behavior
Suggest replace code is:
建议替换代码如下:
PreparedStatement ps = connection.prepareStatement(sql, PrimaryKeyConstant.RETURN_PRIMARY_KEYS);
public class PrimaryKeyConstant {
/**
* replace Statement.RETURN_GENERATED_KEYS into id key,
*/
public static final String[] RETURN_PRIMARY_KEYS = new String[]{"id"};
}
我可以提交一个PR吗
3条答案
按热度按时间brqmpdu11#
我觉得可能有问题:
cbwuti442#
我觉得可能有问题:
目前系统中,用到的几处(好像是3处吧)Statement.RETURN_GENERATED_KEYS都是具体业务模块的,不多,基本主键都是id,如果不一样就多定义几个常量就行了。
我之所以建议改这个,也是希望多数据源出现之前,把系统那些明显的不兼容的方式,更改为通用的方式。
wdebmtf23#
可以讨论一下,我觉得还是面向标准来做是最好的,直接设置逐渐key的名字也是标准接口的话,应该问题也不大。