jakarta-ee - JavaEE7-动手实验教程——无法加载数据库?

标签 jakarta-ee java-ee-7 wildfly-8

我正在关注 Java EE7 教程 - 动手实验室 here 。我按照此处提供的说明设置了我的 WildFly 应用程序服务器。一切正常。该教程 zip 附带示例数据和用于初始化数据源的 sql 加载脚本。如果 persistence.xml 中未提供数据源,WildFly 将提供教程中提到的默认数据源

tutorial link中的第3步结束时,这是我的屏幕截图:

enter image description here

但是预期的(根据 tutorial link:图 12)是这样的:

enter image description here

区别在于“在电影院放映电影!”就我而言,“在 7 个影院放映 20 部电影!”在预期的一。 用于显示这些数字的 JSF 模板进行 EJB 调用,从数据源获取数据。看着这个,我认为我的数据源没有初始化。但我不明白为什么,因为我是逐字遵循教程的。我也在解决这个问题。

感谢您提前提供帮助

编辑

服务器日志显示无法确定 H2 数据库版本,某些功能可能无法使用。

2014-10-02 18:02:50,167 INFO  [org.hibernate.Version] (ServerService Thread Pool -- 50) HHH000412: Hibernate Core {4.3.5.Final}
2014-10-02 18:02:50,170 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 50) HHH000206: hibernate.properties not found
2014-10-02 18:02:50,172 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 50) HHH000021: Bytecode provider name : javassist
2014-10-02 18:02:50,330 INFO  [org.jboss.ws.common.management] (MSC service thread 1-6) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.2.4.Final
2014-10-02 18:02:50,491 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 50) JBAS011409: Starting Persistence Unit (phase 2 of 2) Service 'movieplex7.war#movieplex7PU'
2014-10-02 18:02:50,641 INFO  [org.hibernate.annotations.common.Version] (ServerService Thread Pool -- 50) HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
2014-10-02 18:02:50,875 INFO  [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 50) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2014-10-02 18:02:50,883 WARN  [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 50) HHH000431: Unable to determine H2 database version, certain features may not work
2014-10-02 18:02:50,922 INFO  [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (ServerService Thread Pool -- 50) HHH000397: Using ASTQueryTranslatorFactory
2014-10-02 18:02:51,047 INFO  [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 50) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2014-10-02 18:02:51,048 WARN  [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 50) HHH000431: Unable to determine H2 database version, certain features may not work
2014-10-02 18:02:51,055 WARN  [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE SALES]
2014-10-02 18:02:51,055 WARN  [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE POINTS]
2014-10-02 18:02:51,055 WARN  [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE SHOW_TIMING]
2014-10-02 18:02:51,055 WARN  [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE MOVIE]
2014-10-02 18:02:51,056 WARN  [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE TIMESLOT]
2014-10-02 18:02:51,056 WARN  [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE THEATER]
2014-10-02 18:02:51,250 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-8) Initializing Mojarra 2.2.6-jbossorg-4 20140501-1134 for context '/movieplex7'
2014-10-02 18:02:51,867 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) JBAS017534: Registered web context: /movieplex7
2014-10-02 18:02:51,905 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "movieplex7.war" (runtime-name : "movieplex7.war")
2014-10-02 18:02:51,910 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
2014-10-02 18:02:51,911 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
2014-10-02 18:02:51,911 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.1.0.Final "Kenny" started in 5525ms - Started 256 of 310 services (91 services are lazy, passive or on-demand)

我还在 github 存储库中提出了一个问题: https://github.com/javaee-samples/javaee7-hol/issues/17#issuecomment-57561731

最佳答案

所以我得到了该应用程序,并尝试运行它(Netbeans、Wildfly-8.1)。它根本没有运行。找不到数据源的问题。所以(Wildfly 启动后)我进入了管理控制台 localhost:9990并输入我的凭据。在控制台中,选择[配置]选项卡,然后选择[数据源]。没有默认数据源。有一个java:jboss/datasources/ExampleDS作为预配置的数据源。所以在 persistence.xml ,我将数据源更改为该数据源,并且有效。仅供引用,我从下载的解决方案目录运行了 movieplex7


这是我对整个项目唯一改变的事情。只需将数据源的 jndi 名称更改为 <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>


编辑

所以@ArunGupta 是正确的。在应用中,在 persistence.xml有这个注释掉的行

<!--<jta-data-source>java:comp/DefaultDataSource</jta-data-source>-->

我认为我必须取消注释。通过取消注释它,这就是导致它最初无法工作的原因。所以我将其注释掉,并且没有指定任何数据源,即 java:jboss/datasources/ExampleDS ,它按规定工作。所以你的问题似乎在其他地方。

关于jakarta-ee - JavaEE7-动手实验教程——无法加载数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149976/

相关文章:

java - JAX-RS @CookieParam 值从一个请求更改为另一个请求

java - 模拟 javax.mail.Transport

java - 现实世界中的 Clojure 和 Java 互操作

java - WSDL 到 Java 还是 Java 到 WSDL?

java - 如何指定特定的 JAXB 实现?

jakarta-ee - 在 @Asynchronous 方法调用期间销毁有状态 bean 会发生什么?

jakarta-ee - Java EE7 - Bean 发现 无

hibernate - 使用 maven、servlet、jsp 和 java 构建失败

wildfly - Wildfly 10 中的内容类型问题

java - 如何在 WIldfly 8 中将 org.hornetq.ra 定义为资源适配器