关于Jfinal使用PostgreSQL的一个很奇怪的问题

平安OSC 发布于 2014/11/02 22:18
阅读 1K+
收藏 1

数据库配置如下:

@Override
public void configPlugin(Plugins me) {
        // 添加数据库连接池
	DruidPlugin dPlugin = new DruidPlugin(appProperties.getProperty("jdbc.url"), appProperties.getProperty("jdbc.username"), appProperties.getProperty("jdbc.password"), appProperties.getProperty("jdbc.driver"));
		dPlugin.addFilter(new StatFilter());
		WallFilter wall = new WallFilter();
		wall.setDbType(JdbcConstants.POSTGRESQL);
		dPlugin.addFilter(wall);
		me.add(dPlugin);

		// 添加自动绑定model与表插件
		AutoTableBindPlugin autoTableBindPlugin = new AutoTableBindPlugin(dPlugin);
        autoTableBindPlugin.setShowSql(true);
	me.add(autoTableBindPlugin);
}



通过注解的方式设置model

@TableBind(tableName = "users", pkName = "id")
public class User extends Model<User> {
    public static final User dao = new User();
}



启动却报错:

请问是什么原因啊?以前用mysql没问题的,相同的设置用PostgreSQL就出现了这种问题!

@Jfinal

以下是问题补充:

@平安OSC:附上数据库连接配置: jdbc.url=jdbc:postgresql://localhost:9002/emenu jdbc.driver=org.postgresql.Driver jdbc.username=postgres jdbc.password=root (2014/11/02 22:18)
加载中
0
JFinal
JFinal

    ActiveRecordPlugin 在没有设置方言时默认使用的是 MySqlDialect, PostgreSql 数据库需要设置相应的方言:

ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
arp.setDialect(new PostgreSqlDialect());
me.add(arp);


0
红星xx
红星xx
jfinal 1.8 原生连接 pgsql 我用过 ,没问题吧 ,你先 去除 所有 kit ,去除 druid 的 wall 之后链接看看 ,确定是哪里出了问题。
0
本人纯属虚构
本人纯属虚构

波波正解 我一直用 PostgreSql

需要方言设置的

0
平安OSC
平安OSC

引用来自“JFinal”的评论

    ActiveRecordPlugin 在没有设置方言时默认使用的是 MySqlDialect, PostgreSql 数据库需要设置相应的方言:

ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
arp.setDialect(new PostgreSqlDialect());
me.add(arp);


真的好了,多谢大神!
0
平安OSC
平安OSC

引用来自“本人纯属虚构”的评论

波波正解 我一直用 PostgreSql

需要方言设置的

加上方言好了,谢谢!
0
平安OSC
平安OSC

引用来自“红星xx”的评论

jfinal 1.8 原生连接 pgsql 我用过 ,没问题吧 ,你先 去除 所有 kit ,去除 druid 的 wall 之后链接看看 ,确定是哪里出了问题。
加上方言好了,谢谢!
返回顶部
顶部