- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试使用 JPA 和 Hibernate 创建一个简单的 Spring MVC 程序。我在使用实体管理器保留代码时遇到问题。
Controller 类:
@Controller
@Repository
public class DummyControllerClass {
@PersistenceContext
EntityManager em;
@RequestMapping(value="/")
@Transactional
public String homePage() {
System.out.println("Entity Manager = " + em.toString());
PersonClass person = new PersonClass("Ankit");
em.persist(person);
System.out.println("Isnide homePage");
return "Home";
}
}
实体类:
@Entity
@Table(name="Person")
public class PersonClass {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int id;
String name;
public PersonClass(String name) {
super();
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这是 pom.xml:
<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>com.myapplication</groupId>
<artifactId>dummy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>5.0.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.7.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<verbose>true</verbose>
<source>1.8</source>
<target>1.8</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
<contextReloadable>true</contextReloadable>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
请建议我是否添加了任何额外/不必要的依赖项。
todo-servlet.xml(Spring 配置文件):
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:component-scan base-package="com.myapplication" />
<mvc:annotation-driven />
<bean name="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mtech" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.myapplication.entitites"/>
<property name="persistenceProviderClass"
value="org.hibernate.jpa.HibernatePersistenceProvider"/>
<property name="jpaPropertyMap">
<map>
<entry key="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<entry key="hibernate.hbm2ddl.auto" value="update"/>
</map>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
我面临的错误是这样的:
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Unknown entity: com.myapplication.entities.PersonClass] with root cause
java.lang.IllegalArgumentException: Unknown entity: com.myapplication.entities.PersonClass
at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:804)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:785)
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 org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:308)
at com.sun.proxy.$Proxy48.persist(Unknown Source)
at com.myapplication.DummyControllerClass.homePage(DummyControllerClass.java:25)
at com.myapplication.DummyControllerClass$$FastClassBySpringCGLIB$$1949dcab.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at com.myapplication.DummyControllerClass$$EnhancerBySpringCGLIB$$3a04c6e1.homePage(<generated>)
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 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
预先感谢您的帮助!请忽略过多注释一起使用的情况。一旦代码开始运行,我就会将它们隔离。这只是为了获得正确的配置。
最佳答案
根据documentation ,您应该将 JPA 2.2 与 Hibernate 5.3+ 一起使用:
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
而不是 hibernate-jpa-2.1-api
工件。
关于java.lang.IllegalArgumentException : Unknown entity: com. myapplication.entities.PersonClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53833868/
我有一个像这样的应用程序类: public class MyApplication extends Application { private static boolean FOCUSED;
当我尝试将我的 Android APP 连接到蓝牙打印机时,从未调用关键方法。我按照SDK的介绍: 添加权限 在 Application.onCreate() 中初始化 SDK public void
在我通过在我的 build.gradle 文件中使用这段代码成功地将 Flurry SDK 集成到库中之后。 compile 'com.flurry.android:analytics:6.8
我目前正在尝试创建一个全局变量 Activity 。 我已按照以下说明 (Android global variable) 来设置 Activity 。 但是,当我尝试编辑 android:name
鉴于以下内容,取自 Typeclassopedia : class MyApplicative f where pure :: a -> f a ap :: f
基本上,我开始将纯 Activities 应用程序移植到 Fragments,但我几乎停留在第一步。 在我当前的应用程序中,我扩展应用程序以访问用于自定义应用程序的全局常量和变量。 public cl
我正在使用 struts2.0,应用程序是在 tomcat 6.0 上部署和测试的。 根据要求,我的应用程序 (myApplication) 必须从域名为 http://abc.com 的 PHP 站
我正在尝试将应用程序设置用于我正在处理的 C#.NET 项目。但我似乎无法让它返回默认值以外的任何内容。通过项目属性,我添加了一个设置 DBConnectionString,并将其值设置为我要使用的连
我的新 Android studio示例项目的版本给出以下错误,您能帮忙吗? 下面是我得到的 IDE fatal error 的日志 IDE Error Root project path of th
我正在尝试操作片段xml中的元素,但是我所做的所有尝试都导致了一些错误。当我使用root !!。qr_code.visibility = View.INVISIBLE时,我得到了: 我的元素引用有什么
我正在尝试将 MyApplication 类用于 JSON 数据 我在做什么::我正在 listview 中显示元素列表,我已从 JSON 检索数据并填充到 ListView 。我已将其快照放在我目前
使用 WildFly 8 时,将浏览器指向 localhost:8080 会导致显示默认的 welcome-content 页面。 我想更改此行为,以便显示 myapplication.war。 我的
我的应用程序将其设置保存在其可执行文件夹下,该文件夹恰好是它在 Windows 下的安装位置 (C:\ProgramFiles)。我遇到的问题是我使用 fopen_s 并将文件打开为二进制文件,但是当
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭10 年前。 Improve th
我正在尝试构建运行一个从 Github 下载的 Android 项目。我的电脑有两个驱动器;第一个 one (C:) 安装了 android studio 和 windows,other (D:) 用
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我在使用 JDK 7_80 启动 Tomcat 时遇到此错误,但它在 JDK 6_23 上运行良好。请找到以下控制台打印并帮助我解决此问题。 INFO: XML validation disabled
对于谷歌应用引擎应用程序,我想限制对自己网站的访问 http://myapplication.appspot.com但同时让我的 android 手机应用程序用户访问它。我的 Android 手机应用
在我的 c# windows 应用程序中,每当我在 visual studio 2008 中打开我的解决方案时,“MyApplication.vshost.exe”总是在窗口任务管理器 --> 进程选
在检查我的 Android 应用程序崩溃报告时,我注意到 java.lang.NullPointerException 是崩溃的主要原因之一。这是我经常崩溃的一个例子: java.lang.R
我是一名优秀的程序员,十分优秀!