休眠和postgreSQL 与 Grails
有一种简单的方法可以设置hibernate为postgres的每个表使用不同的主键id吗? 我尝试在数据源中使用 postgres 方言:
dialect = org.hibernate.dialect.PostgreSQLDialect
or
dialect = net.sf.hibernate.dialect.PostgreSQLDialect
但它不起作用。 谢谢
There is an easy way to set hibernate to use different primary key ids for each table with postgres?
I tried to use postgres dialect in DataSource:
dialect = org.hibernate.dialect.PostgreSQLDialect
or
dialect = net.sf.hibernate.dialect.PostgreSQLDialect
But it doesn't work.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简短的回答是否定的,没有简单的方法可以做到这一点。不过,我找到了一个可行的解决方案。基本上您需要实现自定义方言。这是一个实现(请注意注释中实现的原始来源)。
上述实现应作为
TableNameSequencePostgresDialect.java
存储在 Grails 项目中的src/java/com/my/custom
下。接下来,更新您的
DataSource.groovy
以使用这个新的自定义方言。差不多就是这样了。不容易容易,但可以做到。
The short answer is no, there isn't a easy way to do this. However, I have found a solution that does work. Basically you need to implement a custom dialect. Here is an implementation (please note the original source of the implementation within the comments).
The above implementation is should be stored as
TableNameSequencePostgresDialect.java
undersrc/java/com/my/custom
within your Grails project.Next, update your
DataSource.groovy
to use this new custom dialect.That's pretty much about it. Not easy but it can be done.