Java Netbeans中的JPA,奇怪的事情
我遇到了以下问题。 我有一个简单的(刚刚启动的)web应用程序。 我创建了一个新的Web应用程序项目,并从数据库中使用@ManyToOne(因此实际上有to enities)类生成了实体。这就是我尝试运行它时发生的情况 首次运行:Java Netbeans中的JPA,奇怪的事情,java,jpa,netbeans,Java,Jpa,Netbeans,我遇到了以下问题。 我有一个简单的(刚刚启动的)web应用程序。 我创建了一个新的Web应用程序项目,并从数据库中使用@ManyToOne(因此实际上有to enities)类生成了实体。这就是我尝试运行它时发生的情况 首次运行: 内部异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“group WHERE(group_id=1)”附近使用的正确语
内部异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“group WHERE(group_id=1)”附近使用的正确语法错误代码:1064 Call:SELECT group_id,acc_level,name FROM group WHERE(group_id=?)bind=>[1参数绑定]Query:ReadObjectQuery(name=“文件:/D:/Projekty/Sell Your Thing/build/web/web-INF/classes/\u Sell\u Your\u ThingPU”referenceClass=Group1)
第二遍:一切都是正确的
在使Netbeans重新编译后(例如,我在某处添加了一个空格),我得到以下结果:
com.model.User cannot be cast to com.model.User
WEB9031: WebappClassLoader unable to load resource [sun.reflect.ConstructorAccessorImpl], because it has not yet been started, or was already stopped
在对页面进行几次刷新后,我发现:
com.model.User cannot be cast to com.model.User
WEB9031: WebappClassLoader unable to load resource [sun.reflect.ConstructorAccessorImpl], because it has not yet been started, or was already stopped
我现在很困惑:/
(我使用glassfish和mysql)
编辑:
我解决了第一个错误,将名称从group改为user\u group,因为它是一个关键字。
我还通过添加
<property name="openjpa.DynamicEnhancementAgent" value="false"/>
<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported" />
我只是在JSF中使用它
<h:outputText value="#{userBean.getUserNameById(2)}" />
第一个错误可能是因为您选择了组
作为表名。组
是保留的SQL关键字,查询无效。请选择其他名称(不要选择选择
、顺序
或插入
作为名称:-))com.model.User不能转换为com.model.User
是一个很好的指示器,表明您有一个问题。您可能会在频繁重新部署后看到问题突然出现。完全重新启动Glassfish应该可以解决问题(直到再次发生=p)它确实解决了,但它确实再次发生。你太经常是对的。我使用Group1作为类名,我认为这已经足够了。尽管如此,我仍然有其他错误。