Org.postgresql.jdbc.PgConnication.createClob () এখনও কার্যকর করা হয়নি


102

আমি কীভাবে এই ত্রুটিটি সমাধান করতে পারি:

java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161]
    at org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.useContextualLobCreation(LobCreatorBuilderImpl.java:113) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.makeLobCreatorBuilder(LobCreatorBuilderImpl.java:54) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.<init>(JdbcEnvironmentImpl.java:271) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:114) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:861) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:888) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:388) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:583) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1085) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:858) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at com.divergent.demo.DemoApplication.main(DemoApplication.java:12) ~[classes/:na]



Caused by: java.sql.SQLFeatureNotSupportedException: Method org.postgresql.jdbc.PgConnection.createClob() is not yet implemented.
    at org.postgresql.Driver.notImplemented(Driver.java:683) ~[postgresql-42.2.1.jar:42.2.1]
    at org.postgresql.jdbc.PgConnection.createClob(PgConnection.java:1252) ~[postgresql-42.2.1.jar:42.2.1]
    ... 44 common frames omitted


4
"সি 32 পি 0 সহ হাইবারনেট ..." স্প্রিং বুটের কথা উল্লেখ করে না, যদিও উত্তরগুলি দেয়
পাফনুচি

উত্তর:


201

আপনার অ্যাপ্লিকেশন.সম্পত্তি এ এই সম্পত্তি যুক্ত করুন:

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

তথ্যসূত্র:


স্প্রিং বুট 2.1.6 এর সাথে কাজ করেনি। এটা একটা ছিল সম্ভব রিগ্রেশন
cstroe

2.1.9 রিলিজের জন্য কাজ করেছেন।
উত্কর্ষ গুপ্ত

32

এটি একটি সমস্যা Hibernate, কর্মপরিকল্পনা হিসাবে আপনি নীচের পতাকাটি ব্যবহার করতে পারেন। তারপরে আপনার বৈশিষ্ট্যগুলিতে নিম্নলিখিত কনফিগারেশন সেট আপ করুন:

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

জন্য স্প্রিং বুট 2.xx এই ফ্ল্যাগ কেবল অক্ষম প্রাসঙ্গিক lob সৃষ্টি, কিন্তু আপনি সত্যিই জানতে সঠিকভাবে উত্তর চেক করতে চান তাহলে আপডেট V1 থেকে

আপডেট করা ভি 1

এটি একটি হাইবারনেট ইস্যু ছিল । আপনার কাছ থেকে বসন্ত বুট সর্বশেষ সংস্করণ ব্যবহার করেন তাহলে 2.0.xপর্যন্ত 2.1.x অন্তর্ভুক্ত Hibernate 5.3.10.finalআপনি দেখে নিতে পারেন এখানে , তারপরও এই সমস্যা নিদৃষ্ট ছিলাম Hibernate version 5.4.0.CR1 তারপর আপনি প্রয়োজন যে নির্ভরতা যোগ করার জন্য বা যদি এটি সর্বশেষ সংস্করণ সম্ভব:

গ্রেডলের জন্য:

compile('org.hibernate:hibernate-core:5.4.2.Final')

মাভেনের জন্য:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.2.Final</version>
</dependency>

আপডেট করা ভি 2 "স্প্রিং বুট 2.2.0. এম (1-4)"

এছাড়াও Spring boot v2.2.0.Mxএখন অন্তর্ভুক্ত রয়েছে Hibernate v5.4.xতখন এই সংস্করণগুলির জন্য এই সমস্যাটি স্থির ছিল।


4
শীতল আমি এটি সম্পর্কে আরও তথ্য যুক্ত করেছি এবং বসন্ত বুটের জন্য সংস্করণগুলির সমর্থন সমর্থন করে। @ শেখফিরোজআলাম
জোনাথন জহক্স

স্প্রিং বুটে ২.২.১.আরলেস, এখনও সমস্যা পেয়েছে। মোহাম্মদ হেজাজির উত্তর কাজ করেছে। stackoverflow.com/a/54288767/4766882
ডেনিস কিম

29

আমি একই সমস্যা ছিল। আমি এই সমাধানটি অনুসরণ করেছি এবং এটি আমার পক্ষে কাজ করেছে

http://vkuzel.blogspot.com/2016/03/spring-boot-jpa-hibernate-atomikos.html

# Disable feature detection by this undocumented parameter. Check the org.hibernate.engine.jdbc.internal.JdbcServiceImpl.configure method for more details.
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false

# Because detection is disabled you have to set correct dialect by hand.
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect

এটি আমার পক্ষে কাজ করেছে। তবে, আমি spring.jpa.database=POSTGRESQLউপভাষার পরিবর্তে ব্যবহার করেছি ।
সিবিএমিক্স

13

এর সাথে হাইবারনেট.প্রোপার্টি যুক্ত করে সমাধান করা

hibernate.jdbc.lob.non_contextual_creation=true

সহ অন্যান্য সমাধানগুলি application.propertiesকাজ করে না। এটি এক্সএমএল হাইবারনেট সিএফজি.এক্সএমএল এর মাধ্যমেও করা যেতে পারে

স্প্রিং বুট সংস্করণ: ২.০.২.আরলে


4
আপনি কি স্প্রিং.জেপা দিয়ে শুরু করেছেন তা নিশ্চিত? এটি আমার জন্য 2.0.3 এ
ঠিকঠাক

@ কলেশসনি দুঃখিত, উত্তর দিতে পারবেন না। এটি অন্য একটি প্রকল্পের ব্যবসায় নির্ভরতা সহ একটি বসন্ত-বুট প্রকল্প, যাতে অধ্যবসায় সংজ্ঞা দেওয়া হয়। এটি নির্ধারণের জন্য এই সেটআপটি পুনরুত্পাদন করা শক্ত।
পাফনুচি


8
spring:      
  jpa:
    properties:
      hibernate:
        temp:
          use_jdbc_metadata_defaults: false
        jdbc:
          lob:
            non_contextual_creation: true

ব্যবহার_জেডবিসি_মেডাটাটা_ডিফাল্টস: মিথ্যা বা অ_আপনি_সংশোধন: সত্য দুটি আইটেম সূক্ষ্মভাবে কাজ করে


5

স্প্রিং বুট সংস্করণ: 2.1.x.RELEASE খুব একই সমস্যার মুখোমুখি। এটি এর সাথে কাজ করেছে:

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true 

আমি করেছি, কিন্তু এটি কাজ করে না। অন্য উপায় আছে?
হাং ব্যাং কোয়ান

0

আমি এই জিনিসটির সাথে একদিন লড়াই করে যাচ্ছিলাম।

  • স্প্রিং বুট সংস্করণ 2.2.5

  • পোস্টগ্রিস: 42.2.10

  • সার্ভারে পোস্টগ্রিজের সংস্করণ: PostgreSQL 11.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit

হাইবারনেট কনফিগারেশন সহ আমি স্প্রিং জেপিএ ডেটা ব্যবহার করছিলাম। সেশনফ্যাক্টরি ব্যবহার করা হচ্ছে।

হাইবারনেট কনফিগারেশন:

@Bean(name = "sessionFactory")
@Primary
public LocalSessionFactoryBean sessionFactory(){
    LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
    sessionFactoryBean.setDataSource(assetHealthDataSource);
    sessionFactoryBean.setMappingDirectoryLocations(new Resource[]{new ClassPathResource("mappings")});
    sessionFactoryBean.setHibernateProperties(hibernateProperties());

    return sessionFactoryBean;
}

হাইবারনেট বৈশিষ্ট্য:

private final Properties hibernateProperties() {
    Properties hibernateProperties = new Properties();
    hibernateProperties.setProperty(
            "hibernate.dialect", "org.hibernate.dialect.PostgreSQL9Dialect");
    hibernateProperties.setProperty(
            "hibernate.jdbc.lob.non_contextual_creation", "true");
    hibernateProperties.setProperty(
            "hibernate.temp.use_jdbc_metadata_defaults", "false");
    hibernateProperties.setProperty(
            "hibernate.show_sql", environment.getProperty("assetHealthDataSource.hibernate.showSQL"));
    hibernateProperties.setProperty(
            "hibernate.format_sql", environment.getProperty("assetHealthDataSource.hibernate.formatSQL"));
    hibernateProperties.setProperty(
            "hibernate.transaction.auto_close_session", "false");
    hibernateProperties.setProperty(
            "hibernate.hibernate.connection.release_mode", "auto");
    hibernateProperties.setProperty(
            "hibernate.hikari.maximumPoolSize", "3");
    hibernateProperties.setProperty(
            "hibernate.default_schema", "MY_SCHEMA");

    return hibernateProperties;
}

তবে সবকিছু ঠিকঠাক কাজ করছিল না। এটি সমাধান করতে সহায়তা করতে পারে এমন কোনও পরামর্শ দেখার জন্য প্রস্তুত। আপনাকে অনেক ধন্যবাদ.


আক, এটি সমাধান করা হয়েছিল। আমি নিশ্চিত করতে চাই যে এই সমস্যাটি স্প্রিংবুট ২.২.৫ এবং হাইবারনেট ৪.২.১৪ ফাইনালে ঘটবে না, আমি ত্রুটি পেয়েছি কারণ অ্যাপ্লিকেশনটিতে একটি ওরাকল ড্রাইভার রয়েছে, সম্ভবত এটি দ্বন্দ্বের কারণ হয়েছিল। ধন্যবাদ.
হাং ব্যাং কোয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.