Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring JPA:PropertyAccessException 1:…MethodInvocationException:.&x27;driverClassName'。。。org/postgresql/Driver:不支持的major.minor版本52.0_Java_Spring_Postgresql_Hibernate_Jpa - Fatal编程技术网

Java Spring JPA:PropertyAccessException 1:…MethodInvocationException:.&x27;driverClassName'。。。org/postgresql/Driver:不支持的major.minor版本52.0

Java Spring JPA:PropertyAccessException 1:…MethodInvocationException:.&x27;driverClassName'。。。org/postgresql/Driver:不支持的major.minor版本52.0,java,spring,postgresql,hibernate,jpa,Java,Spring,Postgresql,Hibernate,Jpa,我是Spring Data JPA的新手。我能够实现一个简单的解决方案,用于在PostgreSQL DB的表中正常存储、删除和查找对象/行 我尝试了一个内存中的数据库,即HSQLDB,它对我来说很好。 但是,问题是当我尝试连接到PostgreSQL DB模式时。 请指导我这个问题的解决方案,看看是什么导致了这个问题 下面是相同的堆栈跟踪: Exception in thread "main" org.springframework.beans.factory.BeanCreationExcept

我是Spring Data JPA的新手。我能够实现一个简单的解决方案,用于在PostgreSQL DB的表中正常存储、删除和查找对象/行

我尝试了一个内存中的数据库,即HSQLDB,它对我来说很好。 但是,问题是当我尝试连接到PostgreSQL DB模式时。 请指导我这个问题的解决方案,看看是什么导致了这个问题

下面是相同的堆栈跟踪:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [spring.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [spring.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 52.0
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1456)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1197)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.spring.btl.pl.controller.UserController.main(UserController.java:17)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [spring.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 52.0
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1493)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1197)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
    ... 15 more
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 52.0
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:108)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:62)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1489)
    ... 23 more
UserDao.java如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/data/jpa
        http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
        ">

    <!-- Scans for components that will be auto-registered as Spring beans -->
    <context:component-scan base-package="com.spring.btl.pl" />
    <!-- Scans for repositories that will be auto-registered -->
    <jpa:repositories base-package="com.spring.btl.pl.repository" />
    <!-- Activates various annotations to be detected in bean classes e.g: @Autowired -->
    <context:annotation-config />

    <!-- JPA -->

    <!-- Datasource, that is currently hsqldb (in-memory database). -->
    <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
        <property name="url" value="jdbc:hsqldb:mem:datasource" />
        <property name="username" value="sa" />
        <property name="password" value="" />
    </bean> -->



 <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.postgresql.Driver" />
    <property name="url" value="jdbc:postgresql://localhost:5432/parulTestDB" />
    <property name="username" value="postgres" />
    <property name="password" value="postgres" />
    <property name="connectionProperties">
        <props>
            <prop key="socketTimeout">10</prop>
        </props>
    </property>
</bean>

    <!-- EntityManagerFactory -->
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
            p:packagesToScan="com.spring.btl.pl.entity"
            p:dataSource-ref="dataSource"
            >
            <!-- <property name="jpaProperty">  
           <props>  
               <entry key="hibernate.cache.use_second_level_cache" value="true"/>  
               <entry key="hibernate.cache.use_query_cache" value="true"/>  
               <entry key="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>  
               <entry key="hibernate.show_sql" value="true" />  
               <entry key="hibernate.use_sql_comments" value="false" />  
               <entry key="hibernate.format_sql" value="true" />  
               <entry key="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>  
               <entry key="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>  
           </props>  
      </property>   -->
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                        <!-- <property name="database" value="${jpa.database}" />
                        <property name="showSql" value="${jpa.showSql}" />
                        <property name="databasePlatform" value="${jpa.dialect}" />
                        <property name="generateDdl" value="${jpa.generateDdl}" /> -->
                <property name="generateDdl" value="true" />
                <property name="showSql" value="false" />
            </bean>
        </property>

    </bean>

    <!-- Transactions -->
    <tx:annotation-driven transaction-manager="transactionManager" />
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

</beans>
package com.spring.btl.pl.controller;

import java.util.List;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.spring.btl.pl.dao.UserDao;
import com.spring.btl.pl.entity.Usert;


public class UserController {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:/spring.xml");
        UserDao userDao=ctx.getBean(UserDao.class);
        userDao.saveObject(new Usert(3,"sanjay", "xyz"));
        List<Usert> list= (List<Usert>) userDao.findObject();
        System.out.println(list);
        System.out.println("user object saved");
    }       
}
package com.spring.btl.pl.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table (name="User")
public class Usert {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    public Integer id;
    public String user_name;
    public String description;

    /**
     * 
     */
    public Usert() {

    }


    public Usert(Integer id) {
        super();
        this.id = id;
    }


    /**
     * 
     * @param id
     * @param user_name
     * @param description
     */
    public Usert(Integer id, String user_name, String description) {
        this.id = id;
        this.user_name = user_name;
        this.description = description;
    }
    /**
     * 
     */
    @Override
    public String toString() {
        return "User [id=" + id + ", user_name=" + user_name + ", description="
                + description + "]";
    }

}
package com.spring.btl.pl.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import com.spring.btl.pl.entity.Usert;
import com.spring.btl.pl.repository.UserRepository;

@Component
public class UserDao implements BaseDao  {

    @Autowired
     private UserRepository userrepo;
     private Usert user;


    public void saveObject(Object obj) {
        //Usert user=new Usert();
        user=(Usert) obj;
        userrepo.save(user);

    }


    public void deleteObject(Object obj) {
        user=(Usert) obj;
        userrepo.delete(user);
    }


    public void updateObject(Object obj) {
        // TODO Auto-generated method stub

    }


    public Object findObject() {
        List<Usert> userList=userrepo.findAll();
        return userList;
    }

    /*public void deleteObject(Object obj) {
        // TODO Auto-generated method stub
        userrepo.delete(user);
    }

    public void updateObject(Object obj) {
        // TODO Auto-generated method stub

    }*/
}
package com.spring.btl.pl.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.spring.btl.pl.entity.Usert;

@Transactional
@Repository
public interface UserRepository extends JpaRepository<Usert, Long> {


}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>BTL_PL</groupId>
  <artifactId>BTL_PL</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <properties>
        <!-- Generic properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.7</java.version>

        <!-- SPRING & HIBERNATE / JPA -->
        <spring.version>4.0.0.RELEASE</spring.version>
        <spring.data.jpa.version>1.7.1.RELEASE</spring.data.jpa.version>
        <hibernate.version>4.1.9.Final</hibernate.version>
        <hsqldb.version>1.8.0.7</hsqldb.version>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- Spring-Data-JPA -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>${spring.data.jpa.version}</version>
        </dependency>

        <!-- JPA Implementation (Hibernate)-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <!-- IN MEMORY Database and JDBC Driver -->
        <dependency>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>${hsqldb.version}</version>
        </dependency>
        <dependency>
             <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
             <version>9.4.1212</version>
        </dependency>
        <!-- LOG -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.4.RELEASE</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <!-- This plugin is needed to define the java version in maven project. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
package com.spring.btl.pl.dao;
导入java.util.List;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.data.jpa.repository.JpaRepository;
导入org.springframework.stereotype.Component;
导入org.springframework.transaction.annotation.Transactional;
导入com.spring.btl.pl.entity.Usert;
导入com.spring.btl.pl.repository.UserRepository;
@组成部分
公共类UserDao实现BaseDao{
@自动连线
私有用户存储库userrepo;
私人用户;
公共void保存对象(对象obj){
//Usert user=new Usert();
user=(Usert)obj;
userrepo.save(用户);
}
公共无效删除对象(对象obj){
user=(Usert)obj;
userrepo.delete(用户);
}
public void updateObject(Object obj){
//TODO自动生成的方法存根
}
公共对象findObject(){
List userList=userrepo.findAll();
返回用户列表;
}
/*公共无效删除对象(对象obj){
//TODO自动生成的方法存根
userrepo.delete(用户);
}
public void updateObject(Object obj){
//TODO自动生成的方法存根
}*/
}
UserRepository如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/data/jpa
        http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
        ">

    <!-- Scans for components that will be auto-registered as Spring beans -->
    <context:component-scan base-package="com.spring.btl.pl" />
    <!-- Scans for repositories that will be auto-registered -->
    <jpa:repositories base-package="com.spring.btl.pl.repository" />
    <!-- Activates various annotations to be detected in bean classes e.g: @Autowired -->
    <context:annotation-config />

    <!-- JPA -->

    <!-- Datasource, that is currently hsqldb (in-memory database). -->
    <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
        <property name="url" value="jdbc:hsqldb:mem:datasource" />
        <property name="username" value="sa" />
        <property name="password" value="" />
    </bean> -->



 <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.postgresql.Driver" />
    <property name="url" value="jdbc:postgresql://localhost:5432/parulTestDB" />
    <property name="username" value="postgres" />
    <property name="password" value="postgres" />
    <property name="connectionProperties">
        <props>
            <prop key="socketTimeout">10</prop>
        </props>
    </property>
</bean>

    <!-- EntityManagerFactory -->
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
            p:packagesToScan="com.spring.btl.pl.entity"
            p:dataSource-ref="dataSource"
            >
            <!-- <property name="jpaProperty">  
           <props>  
               <entry key="hibernate.cache.use_second_level_cache" value="true"/>  
               <entry key="hibernate.cache.use_query_cache" value="true"/>  
               <entry key="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>  
               <entry key="hibernate.show_sql" value="true" />  
               <entry key="hibernate.use_sql_comments" value="false" />  
               <entry key="hibernate.format_sql" value="true" />  
               <entry key="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>  
               <entry key="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>  
           </props>  
      </property>   -->
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                        <!-- <property name="database" value="${jpa.database}" />
                        <property name="showSql" value="${jpa.showSql}" />
                        <property name="databasePlatform" value="${jpa.dialect}" />
                        <property name="generateDdl" value="${jpa.generateDdl}" /> -->
                <property name="generateDdl" value="true" />
                <property name="showSql" value="false" />
            </bean>
        </property>

    </bean>

    <!-- Transactions -->
    <tx:annotation-driven transaction-manager="transactionManager" />
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

</beans>
package com.spring.btl.pl.controller;

import java.util.List;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.spring.btl.pl.dao.UserDao;
import com.spring.btl.pl.entity.Usert;


public class UserController {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:/spring.xml");
        UserDao userDao=ctx.getBean(UserDao.class);
        userDao.saveObject(new Usert(3,"sanjay", "xyz"));
        List<Usert> list= (List<Usert>) userDao.findObject();
        System.out.println(list);
        System.out.println("user object saved");
    }       
}
package com.spring.btl.pl.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table (name="User")
public class Usert {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    public Integer id;
    public String user_name;
    public String description;

    /**
     * 
     */
    public Usert() {

    }


    public Usert(Integer id) {
        super();
        this.id = id;
    }


    /**
     * 
     * @param id
     * @param user_name
     * @param description
     */
    public Usert(Integer id, String user_name, String description) {
        this.id = id;
        this.user_name = user_name;
        this.description = description;
    }
    /**
     * 
     */
    @Override
    public String toString() {
        return "User [id=" + id + ", user_name=" + user_name + ", description="
                + description + "]";
    }

}
package com.spring.btl.pl.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import com.spring.btl.pl.entity.Usert;
import com.spring.btl.pl.repository.UserRepository;

@Component
public class UserDao implements BaseDao  {

    @Autowired
     private UserRepository userrepo;
     private Usert user;


    public void saveObject(Object obj) {
        //Usert user=new Usert();
        user=(Usert) obj;
        userrepo.save(user);

    }


    public void deleteObject(Object obj) {
        user=(Usert) obj;
        userrepo.delete(user);
    }


    public void updateObject(Object obj) {
        // TODO Auto-generated method stub

    }


    public Object findObject() {
        List<Usert> userList=userrepo.findAll();
        return userList;
    }

    /*public void deleteObject(Object obj) {
        // TODO Auto-generated method stub
        userrepo.delete(user);
    }

    public void updateObject(Object obj) {
        // TODO Auto-generated method stub

    }*/
}
package com.spring.btl.pl.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.spring.btl.pl.entity.Usert;

@Transactional
@Repository
public interface UserRepository extends JpaRepository<Usert, Long> {


}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>BTL_PL</groupId>
  <artifactId>BTL_PL</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <properties>
        <!-- Generic properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.7</java.version>

        <!-- SPRING & HIBERNATE / JPA -->
        <spring.version>4.0.0.RELEASE</spring.version>
        <spring.data.jpa.version>1.7.1.RELEASE</spring.data.jpa.version>
        <hibernate.version>4.1.9.Final</hibernate.version>
        <hsqldb.version>1.8.0.7</hsqldb.version>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- Spring-Data-JPA -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>${spring.data.jpa.version}</version>
        </dependency>

        <!-- JPA Implementation (Hibernate)-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <!-- IN MEMORY Database and JDBC Driver -->
        <dependency>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>${hsqldb.version}</version>
        </dependency>
        <dependency>
             <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
             <version>9.4.1212</version>
        </dependency>
        <!-- LOG -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.4.RELEASE</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <!-- This plugin is needed to define the java version in maven project. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
package com.spring.btl.pl.repository;
导入org.springframework.data.jpa.repository.JpaRepository;
导入org.springframework.stereotype.Repository;
导入org.springframework.transaction.annotation.Transactional;
导入com.spring.btl.pl.entity.Usert;
@交易的
@存储库
公共接口用户存储库扩展了JpaRepository{
}
pom.xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/data/jpa
        http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
        ">

    <!-- Scans for components that will be auto-registered as Spring beans -->
    <context:component-scan base-package="com.spring.btl.pl" />
    <!-- Scans for repositories that will be auto-registered -->
    <jpa:repositories base-package="com.spring.btl.pl.repository" />
    <!-- Activates various annotations to be detected in bean classes e.g: @Autowired -->
    <context:annotation-config />

    <!-- JPA -->

    <!-- Datasource, that is currently hsqldb (in-memory database). -->
    <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
        <property name="url" value="jdbc:hsqldb:mem:datasource" />
        <property name="username" value="sa" />
        <property name="password" value="" />
    </bean> -->



 <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.postgresql.Driver" />
    <property name="url" value="jdbc:postgresql://localhost:5432/parulTestDB" />
    <property name="username" value="postgres" />
    <property name="password" value="postgres" />
    <property name="connectionProperties">
        <props>
            <prop key="socketTimeout">10</prop>
        </props>
    </property>
</bean>

    <!-- EntityManagerFactory -->
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
            p:packagesToScan="com.spring.btl.pl.entity"
            p:dataSource-ref="dataSource"
            >
            <!-- <property name="jpaProperty">  
           <props>  
               <entry key="hibernate.cache.use_second_level_cache" value="true"/>  
               <entry key="hibernate.cache.use_query_cache" value="true"/>  
               <entry key="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>  
               <entry key="hibernate.show_sql" value="true" />  
               <entry key="hibernate.use_sql_comments" value="false" />  
               <entry key="hibernate.format_sql" value="true" />  
               <entry key="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>  
               <entry key="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>  
           </props>  
      </property>   -->
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                        <!-- <property name="database" value="${jpa.database}" />
                        <property name="showSql" value="${jpa.showSql}" />
                        <property name="databasePlatform" value="${jpa.dialect}" />
                        <property name="generateDdl" value="${jpa.generateDdl}" /> -->
                <property name="generateDdl" value="true" />
                <property name="showSql" value="false" />
            </bean>
        </property>

    </bean>

    <!-- Transactions -->
    <tx:annotation-driven transaction-manager="transactionManager" />
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

</beans>
package com.spring.btl.pl.controller;

import java.util.List;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.spring.btl.pl.dao.UserDao;
import com.spring.btl.pl.entity.Usert;


public class UserController {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:/spring.xml");
        UserDao userDao=ctx.getBean(UserDao.class);
        userDao.saveObject(new Usert(3,"sanjay", "xyz"));
        List<Usert> list= (List<Usert>) userDao.findObject();
        System.out.println(list);
        System.out.println("user object saved");
    }       
}
package com.spring.btl.pl.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table (name="User")
public class Usert {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    public Integer id;
    public String user_name;
    public String description;

    /**
     * 
     */
    public Usert() {

    }


    public Usert(Integer id) {
        super();
        this.id = id;
    }


    /**
     * 
     * @param id
     * @param user_name
     * @param description
     */
    public Usert(Integer id, String user_name, String description) {
        this.id = id;
        this.user_name = user_name;
        this.description = description;
    }
    /**
     * 
     */
    @Override
    public String toString() {
        return "User [id=" + id + ", user_name=" + user_name + ", description="
                + description + "]";
    }

}
package com.spring.btl.pl.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import com.spring.btl.pl.entity.Usert;
import com.spring.btl.pl.repository.UserRepository;

@Component
public class UserDao implements BaseDao  {

    @Autowired
     private UserRepository userrepo;
     private Usert user;


    public void saveObject(Object obj) {
        //Usert user=new Usert();
        user=(Usert) obj;
        userrepo.save(user);

    }


    public void deleteObject(Object obj) {
        user=(Usert) obj;
        userrepo.delete(user);
    }


    public void updateObject(Object obj) {
        // TODO Auto-generated method stub

    }


    public Object findObject() {
        List<Usert> userList=userrepo.findAll();
        return userList;
    }

    /*public void deleteObject(Object obj) {
        // TODO Auto-generated method stub
        userrepo.delete(user);
    }

    public void updateObject(Object obj) {
        // TODO Auto-generated method stub

    }*/
}
package com.spring.btl.pl.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.spring.btl.pl.entity.Usert;

@Transactional
@Repository
public interface UserRepository extends JpaRepository<Usert, Long> {


}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>BTL_PL</groupId>
  <artifactId>BTL_PL</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <properties>
        <!-- Generic properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.7</java.version>

        <!-- SPRING & HIBERNATE / JPA -->
        <spring.version>4.0.0.RELEASE</spring.version>
        <spring.data.jpa.version>1.7.1.RELEASE</spring.data.jpa.version>
        <hibernate.version>4.1.9.Final</hibernate.version>
        <hsqldb.version>1.8.0.7</hsqldb.version>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- Spring-Data-JPA -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>${spring.data.jpa.version}</version>
        </dependency>

        <!-- JPA Implementation (Hibernate)-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <!-- IN MEMORY Database and JDBC Driver -->
        <dependency>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>${hsqldb.version}</version>
        </dependency>
        <dependency>
             <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
             <version>9.4.1212</version>
        </dependency>
        <!-- LOG -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.4.RELEASE</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <!-- This plugin is needed to define the java version in maven project. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
BTL_PL
BTL_PL
0.0.1-快照
罐子
UTF-8
1.7
4.0.0.0发布
1.7.1.1发布
4.1.9.最终版本
1.8.0.7
org.springframework
spring上下文
${spring.version}
org.springframework
春季甲虫
${spring.version}
org.springframework.data
spring数据jpa
${spring.data.jpa.version}
org.hibernate
冬眠核心
${hibernate.version}
org.hibernate
休眠实体管理器
${hibernate.version}
hsqldb
hsqldb
${hsqldb.version}
org.postgresql
postgresql
9.4.1212
log4j
log4j
1.2.17
org.springframework
弹簧网
3.0.4.1发布
org.apache.maven.plugins
maven编译器插件
3.1
${java.version}
${java.version}

您的数据源应如下配置:

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="jdbc:postgresql://localhost:5432/parulTestDB" />
        <property name="username" value="postgres" />
        <property name="password" value="postgres" />
        <property name="connectionProperties">
            <props>
                <prop key="socketTimeout">10</prop>
            </props>
        </property>
    </bean>

10

hi maciej的可能副本非常感谢您的建议。我做了一些更改,目前面临着另一个问题,我正在Java(TM)SE运行时环境(build 1.7.0_79-b15)中编译这个项目,同样是命令提示符下的Java版本。你对这个问题有什么建议吗?我更新了问题本身中的日志。您的postgresql驱动程序已达到Java 1.7的最高级别。试试以前的版本。。9.3-1102-JDBC41让我们假设我切换到JDK1.8,这对我来说是可行的,对吗?使用相同版本的postresql驱动程序。顺便说一句,感谢maciej,您将版本更改为9.3-1102-jdbc-41的建议解决了问题。