Java spring jpa集成错误

Java spring jpa集成错误,java,spring,tomcat,jpa,Java,Spring,Tomcat,Jpa,我对spring jpa集成有问题。我写了一个简单的应用程序,有这样的实体元素 @Entity @Table(name = "NEWS") public class News{ @Id @SequenceGenerator(sequenceName = "AUTO_INCREMENT", name = "sequence") @GeneratedValue(generator = "sequence", strategy = GenerationType.SEQUENCE

我对spring jpa集成有问题。我写了一个简单的应用程序,有这样的实体元素

@Entity
@Table(name = "NEWS")
public class News{
    @Id
    @SequenceGenerator(sequenceName = "AUTO_INCREMENT", name = "sequence")
    @GeneratedValue(generator = "sequence", strategy = GenerationType.SEQUENCE)
    @Column(name = "ID", nullable = false, unique = true)
    private int id;
    @Column(name = "NEWSTITLE", nullable = false)
    private String newsTitle;
    @Column(name = "NEWSDATE", nullable = false)
    private Date newsDate;
    @Column(name = "BRIEF", nullable = false)
    private String brief;
    @Column(name = "CONTENT", nullable = false)
    private String content;
    private String date;
这是我的spring配置

    <bean id="dataSource"
            class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="${jdbc.driver.manager}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.login}" />
            <property name="password" value="${jdbc.password}" />
        </bean>
   <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan" value="com.epam.newsmanagement.entity"/>
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="database" value="ORACLE" />
            </bean>
        </property>
    </bean>

    <bean id="jpaDao" class="com.epam.newsmanagementserver.dao.JPANewsDao">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>
浏览互联网,我发现要解决这个问题,我们需要使用Spring3.1及更新版本。但是我使用spring版本3.2.3并得到了这个错误。 请帮忙(

更新


@Avi发现Spring ORM版本3.2.3没有方法SetPackagestScan。因此我将版本更改为3.2.0,并在这个版本中找到了这样的方法。但在启动后,我出现了相同的错误,似乎您试图设置一个不存在的属性。类
LocalContainerEntityManagerFactoryBean
没有名为
setPac的setterkagesToScan
但您试图设置这样的属性。

似乎您试图设置一个不存在的属性。类
LocalContainerEntityManagerFactoryBean
没有名为
setPackagesToScan
的setter,但您试图设置这样的属性。

检查您的依赖项

注意:仅当未指定外部PersistenceUnitManager时应用。

依赖关系示例:

        <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${org.hibernate-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring-data-jpa-version}</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql-version}</version>
    </dependency>

org.hibernate
休眠实体管理器
${org.hibernate版本}
org.springframework.data
spring数据jpa
${spring数据jpa版本}
mysql
mysql连接器java
${mysql版本}

检查您的依赖关系

注意:仅当未指定外部PersistenceUnitManager时应用。

依赖关系示例:

        <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${org.hibernate-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring-data-jpa-version}</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql-version}</version>
    </dependency>

org.hibernate
休眠实体管理器
${org.hibernate版本}
org.springframework.data
spring数据jpa
${spring数据jpa版本}
mysql
mysql连接器java
${mysql版本}

确保您的web.xml看起来像这样

<web-app>
<display-name>Archetype Created Web Application</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    classpath:/beans.xml,       
    </param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

Web应用程序创建的原型
上下文配置位置
类路径:/beans.xml,
org.springframework.web.context.ContextLoaderListener

筛选器和筛选器映射标记已从此示例中删除。请确保已将它们删除


希望有帮助。

确保您的web.xml看起来像这样

<web-app>
<display-name>Archetype Created Web Application</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    classpath:/beans.xml,       
    </param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

Web应用程序创建的原型
上下文配置位置
类路径:/beans.xml,
org.springframework.web.context.ContextLoaderListener

筛选器和筛选器映射标记已从此示例中删除。请确保已将它们删除


希望对您有所帮助。

如果您查找
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
api

没有像packageForScan这样的属性,这就是它的给定错误的原因。您可以在spring.xml中使用组件扫描来给出包含实体的包


如果您查找
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
api,容器将自动扫描实体

没有像packageForScan这样的属性,这就是它的给定错误的原因。您可以在spring.xml中使用组件扫描来给出包含实体的包


容器将自动扫描实体而不是

你确定你的类路径中没有冲突,并且你真的在使用大于3.0的
spring orm
版本吗?@mabbas,我使用maven,在pom.xml中指定spring orm版本3.2.3.RELEASE。当我将我的web应用程序打包到war文件中时,我查看了它的lib文件夹,但没有查找任何可能相互冲突的库您确定您的类路径中没有冲突,并且您使用的是大于3.0的
spring orm
版本吗?@mabbas,我使用maven,在pom.xml中指定spring orm版本3.2.3.RELEASE。当我将我的web应用程序打包到war文件中时,我会查看它的lib文件夹,但没有我找不到任何可能相互冲突的库,但当我使用版本3.2.0时,此方法是。因此,我可能知道如何指定jpa现在必须搜索我的注释实体类的包?但当我使用版本3.2.0时,此方法是。因此,我可能知道如何指定jpa现在必须搜索我的注释实体类的包?