Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在添加hibernate更新时get排序规则冲突?

为什么在添加hibernate更新时get排序规则冲突?
EN

Stack Overflow用户
提问于 2018-11-08 16:14:30
回答 2查看 964关注 0票数 4

你好,我正在尝试添加hibernate.hbm2ddl.auto=update以在现有数据库上工作,但我收到此错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
com.microsoft.sqlserver.jdbc.SQLServerException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation

在此之前,我对此没有问题。我试图更改数据库排序规则,但我认为这不是问题所在。我已经检查了关于这个错误的问题,但它们与hibernate无关。我不知道这是否也是spring的问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nativeSqlHelper' defined in class path resource [be/retailability/util/hibernate/hibernate.ac.xml]: Cannot resolve reference to bean 'sessionFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [be/retailability/util/hibernate/hibernate.ac.xml]: Invocation of init method failed; nested exception is org.hibernate.exception.SQLGrammarException: Error accessing column metadata: petfood.dbo.AccrualHeader
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:378)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:639)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:153)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1267)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1124)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:236)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:710)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:535)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:109)
at be.retailability.util.spring.SpringLauncher.launchApplication(SpringLauncher.java:33)
at be.retailability.util.spring.SpringLauncher.launchApplication(SpringLauncher.java:24)
at be.retailability.util.AbstractLauncher.startSpringApplicationContext(AbstractLauncher.java:359)
at net.pearlchain.erp.services.launcher.AllServicesLauncherBase.startSpringApplicationContext(AllServicesLauncherBase.java:126)
at net.pearlchain.petfood.services.launcher.AllServicesLauncher.startSpringApplicationContext(AllServicesLauncher.java:97)
at be.retailability.util.AbstractLauncher.startApplicationContextSync(AbstractLauncher.java:197)
at be.retailability.util.AbstractLauncher.start(AbstractLauncher.java:145)
at net.pearlchain.petfood.services.launcher.AllServicesLauncher.main(AllServicesLauncher.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [be/retailability/util/hibernate/hibernate.ac.xml]: Invocation of init method failed; nested exception is org.hibernate.exception.SQLGrammarException: Error accessing column metadata: petfood.dbo.AccrualHeader
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:367)
    ... 29 more
Caused by: org.hibernate.exception.SQLGrammarException: Error accessing column metadata: petfood.dbo.AccrualHeader
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:106)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.convertSQLException(InformationExtractorJdbcDatabaseMetaDataImpl.java:98)
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.getForeignKeys(InformationExtractorJdbcDatabaseMetaDataImpl.java:849)
    at org.hibernate.tool.schema.extract.internal.TableInformationImpl.foreignKeys(TableInformationImpl.java:97)
    at org.hibernate.tool.schema.extract.internal.TableInformationImpl.getForeignKeys(TableInformationImpl.java:91)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.checkForExistingForeignKey(AbstractSchemaMigrator.java:471)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applyForeignKeys(AbstractSchemaMigrator.java:423)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:249)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:114)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:183)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:317)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:710)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726)
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:533)
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1758)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1695)
    ... 36 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
    at com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.getResultSetForForeignKeyInformation(SQLServerDatabaseMetaData.java:1003)
    at com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.getImportedKeys(SQLServerDatabaseMetaData.java:875)
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.getForeignKeys(InformationExtractorJdbcDatabaseMetaDataImpl.java:798)
    ... 52 more
EN

回答 2

Stack Overflow用户

发布于 2019-02-07 09:52:24

我在MSSQL数据库中也遇到了同样的问题:

  • 通过hibernate自动创建db方案的初始操作正常

通过hibernate自动更新

  • 方案失败,出现上述错误。

我通过将数据库的排序属性设置为Latin1_General_CI_AS解决了这个问题。

逻辑解释是,在方案创建期间,排序规则属性是不相关的。但是在方案更新期间,hibernate会创建一些依赖于排序规则的查询。由于hibernate似乎对其查询使用或期望使用Latin1_General_CI_AS,这就产生了冲突。

票数 0
EN

Stack Overflow用户

发布于 2019-07-19 07:23:53

我尝试这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT SERVERPROPERTY('EditionId') AS EditionId
GO
use master
GO
ALTER DATABASE [dbaname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
GO
use [dbaname];
GO
USE [master]
GO
ALTER DATABASE [dbaname] COLLATE Latin1_General_CI_AS
GO
ALTER DATABASE [dbaname] SET MULTI_USER
GO
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53211774

复制
相关文章
X86如何实现函数调用?
的空间保存数据,用户地址空间3G从0x0000000到0xC0000000,内核空间1G从0xC0000000到0xFFFFFFFF。
mingjie
2022/11/30
2.8K0
X86如何实现函数调用?
X86函数调用模型分析
的空间保存数据,地址从0x00000000到0xFFFFFFFF(一个十六进制为对应4个二进制位,所以是2的32次方)。
mingjie
2022/08/03
1.2K0
X86函数调用模型分析
java 如何实现短函数调用?
在Java中,可以使用lambda表达式来实现短函数调用。Lambda表达式是一个匿名函数,它可以传递给方法或存储在变量中,以便在需要时使用。
IT千锋教育
2023/05/24
6510
java 如何实现短函数调用?
如何禁止函数的传值调用
按照参数形式的不同,C++应该有三种函数调用方式:传值调用、引用调用和指针调用。对于基本数据类型的变量作为实参进行参数传递时,采用传值调用与引用调用和指针调用的效率相差不大。但是,对于类类型来说,传值调用和引用调用之间的区别很大,类对象的尺寸越大,这种差别越大。
恋喵大鲤鱼
2018/08/03
2.8K0
java怎样调用oracle存储函数_oracle如何调用存储过程
之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧。
全栈程序员站长
2022/11/19
2.7K0
java怎样调用oracle存储函数_oracle如何调用存储过程
Linux内核如何替换内核函数并调用原始函数
已经多久没有编程了?很久了吧…其实我本来就不怎么会写代码,时不时的也就是为了验证一个系统特性,写点玩具而已,工程化的代码,对于我而言,实在是吃力。
Linux阅码场
2019/10/08
3.4K0
Linux内核如何替换内核函数并调用原始函数
Nginx如何限制每秒请求次数,限制每秒连接次数,下载速度限制?
Nginx是一款常用的高性能Web服务器和反向代理服务器,其优秀的性能和可扩展性使得它广泛应用于各种网络应用和场景中。在实际使用过程中,为了保障系统的稳定性和安全性,需要对Nginx进行一定的配置和优化。其中,限制每秒请求次数、限制每秒连接次数和下载速度限制等技术是非常重要的配置项之一。
网络技术联盟站
2023/06/08
5.8K0
Nginx如何限制每秒请求次数,限制每秒连接次数,下载速度限制?
MySQL 每秒 570000 的写入,如何实现?
一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。
芋道源码
2019/03/08
1.5K0
MySQL 每秒 570000 的写入,如何实现?
一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。
数据和云01
2019/07/10
1.6K0
GO语言如何调用C写的函数
1.C 文件 #include <stdio.h>   #include <stdlib.h>   extern int sun(int a, int b) {   return a + b;   }   2 GO调用实例 package main   // #include "c_fun.h"   import "C"   import "fmt"   func main() {   fmt.Println("go call c: 3+4=", C.sun(3, 4))   }  
李海彬
2018/03/27
3K0
通过反汇编理解函数调用机制(x86和ARM)
在分析上面的汇编程序之前,需要了解rbp、rsp为栈基址寄存器、栈顶寄存器,分别指向栈底和栈顶;edx、eax、esi、edi均为x86CPU上的通用寄存器,可以存放数据(虽然它们还有别的作用,但是本文章不涉及)
用户7043923
2020/03/12
2K0
如何优化 SQLite 每秒的插入操作
SQLite 的优化比较棘手,就批量插入而言,其速度可以从每秒 85 条优化到每秒 96,000 条。下面我们来具体看下实验过程和结果,
ClearSeve
2022/02/10
3.4K0
MySQL 每秒 570000 的写入,如何实现?
一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。
数据和云
2019/07/15
2.4K0
MySQL 每秒 570000 的写入,如何实现?
浅谈如何定义和调用Python的函数
本文主要介绍了如何定义和调用Python函数。首先介绍了函数的概念和作用,然后详细讲解了如何定义函数和调用函数,最后列举了一个例子来加深理解。
企鹅号小编
2018/01/03
2K0
浅谈如何定义和调用Python的函数
Unity WebGL 程序如何调用Java Script函数
在WebGL的程序中我们可能需要与网页上的其他元素进行通信,或者需要调用一些其他的Web API,本文介绍如何在Unity脚本中调用Java Script函数。
CoderZ
2022/08/29
1.4K0
Unity WebGL 程序如何调用Java Script函数
MySQL 每秒 570000 的写入,如何实现?
一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。
Java团长
2019/03/04
1.3K0
函数调用时栈是如何变化的?
大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不一定清楚。本文将介绍一下在Linux平台下函数栈是如何实现的。
嵌入式与Linux那些事
2021/12/17
3.6K0
函数调用时栈是如何变化的?
【说站】javascript new如何调用构造函数
以上就是javascript new调用构造函数,希望对大家有所帮助。更多Javascript学习指路:Javascript
很酷的站长
2022/11/23
1.2K0
【说站】javascript new如何调用构造函数
点击加载更多

相似问题

中的nltk pos_tag错误

12

NLTK:柠檬和pos_tag

13

NLTK 3 POS_TAG抛出UnicodeDecodeError

511

NLTK pos_tag模块返回LookupError

12

如何优化NLTK pos_tag操作?

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文