jfinal 连接oracle生成多个主键问题解决 办法

这是我 的解决办法 可能 不是最好的 有最好的欢迎 大佬分享 我是把循环主键注掉了 

/**
* 重写jfinal生成主键规则
* @author String
*
*/
public class MyMetaBuilder extends MetaBuilder{

public MyMetaBuilder(DataSource dataSource) {
super(dataSource);
// TODO Auto-generated constructor stub
}

@Override
public void buildPrimaryKey(TableMeta tableMeta) throws SQLException{

ResultSet rs = dbMeta.getPrimaryKeys(conn.getCatalog(), null, tableMeta.name);

String primaryKey = "";
int index = 0;
while (rs.next()) {
/*if (index++ > 0) {
primaryKey += ",";
}*/
primaryKey = rs.getString("COLUMN_NAME");
}
if (StrKit.isBlank(primaryKey)) {
throw new RuntimeException("primaryKey of table \"" + tableMeta.name + "\" required by active record pattern");
}
tableMeta.primaryKey = primaryKey;
rs.close();


}
}

评论区

JFinal

2018-06-13 11:26

这个方案没法支持复合主键, 还得再深入才行

syso

2018-06-14 10:36

@JFinal 这个我知道 复合主键 的话 还要做处理

热门分享

扫码入社