Java spring jpa集成错误
我对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
@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现在必须搜索我的注释实体类的包?