栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有Grails的Hibernate和PostgreSQL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有Grails的Hibernate和PostgreSQL

简短的答案是没有,没有 简单的
方法可以做到这一点。但是,我找到了一种有效的解决方案。基本上,您需要实现自定义方言。这是一个实现(请在注释中注明实现的原始来源)。

package com.my.custom;import java.util.Properties;import org.hibernate.dialect.Dialect;import org.hibernate.dialect.PostgreSQLDialect;import org.hibernate.id.PersistentIdentifierGenerator;import org.hibernate.id.SequenceGenerator;import org.hibernate.type.Type;public class TableNameSequencePostgresDialect extends PostgreSQLDialect {        @Override    public Class<?> getNativeIdentifierGeneratorClass() { return TableNameSequenceGenerator.class;    }        public static class TableNameSequenceGeneratorextends SequenceGenerator {  @Override public void configure(      final Type type,      final Properties params,      final Dialect dialect) {         if (params.getProperty(SEQUENCE) == null   || params.getProperty(SEQUENCE).length() == 0) {      String tableName = params.getProperty(PersistentIdentifierGenerator.TABLE);      if (tableName != null) {   params.setProperty(SEQUENCE, "seq_" + tableName);      }         }         super.configure(type, params, dialect); }    }}

上述实施应当存储为

TableNameSequencePostgresDialect.java
src/java/com/my/custom
你的Grails项目中。

接下来,更新您的语言

DataSource.groovy
以使用此新的自定义方言。

dialect = com.my.custom.TableNameSequencePostgresDialect

差不多了。不 容易, 但是可以做到。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号