JFinal

登录 注册

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();


}
}

评论

  • 06-13 11:26
    这个方案没法支持复合主键, 还得再深入才行
  • 06-14 10:36
    @JFinal 这个我知道 复合主键 的话 还要做处理
  • 发送