架构未在EJB部署上导出而没有错误



我已经创建了一个带有POJO类"Employee"的EJB程序,但在将EJB部署到JBOSS 7.1 AS服务器时,它没有创建Schema(Schema not Exported)而没有任何错误。

任何人都可以提出建议,程序出了什么问题。

服务器日志

18:43:34445 INFO[org.jboss.as.server](控制器引导线程)JBAS018559:已部署"ojdbc6.jar"18:43:34456信息[org.jboss.as.server.deployment](MSC服务线程1-8)JBAS015876:开始部署"FirstEJBProject.jar"18:43:34587 INFO[org.jboss.as.jpa](MSC服务线程1-8)JBAS011401:Readpersistence.xml for FirstEJB项目18:43:34632信息[org.jboss.as.jpa](MSC服务线程1-5)JBAS011402:正在启动持久性单元服务"FirstEJBProject.jar#FirstEJBP项目"18:43:36284 INFO[org.hibernate.annotations.common.Version](MSC服务线程1-5)HCANN000001:休眠公共注释{4.0.1.Final}18:43:36375 INFO[org.hibernate.Version](MSC服务线程1-5)HHH000412:休眠核心{4.0.1.最终}18:43:36385信息[org.hibernate.cfg.Environment](MSC服务线程1-5)HHH000206:hibernate.properties未找到18:43:36393信息[org.hibernate.cfg.Environment](MSC服务线程1-5)HHH000021:字节码提供程序名称:javassist 18:43:36556 INFO[org.hibernate.ejb.Ejb3Configuration](MSC服务线程1-5)HHH000204:处理PersistenceUnitInfo[名称:FirstEJBProject…]18:43:36993信息[org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator](MSC服务线程1-5)HHH000130:实例化显式连接提供者:org.hubinate.jb.connection.InjectedDataSourceConnectionProvider18:43:37939 INFO[org.hibernate.方言.方言](MSC服务线程1-5)HHH000400:使用方言:org.hibernate.dialect.Oracle10g方言18:43:38003信息[org.hibernate.engine.transaction.internal.TransactionFactoryInitializer](MSC业务线程1-5)HHH000268:事务策略:org.hubinate.engine.transaction.internal.jta.CMT交易工厂18:43:38013信息[org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory](MSC服务线程1-5)HHH000397:使用ASTQueryTranslatorFactory18:43:38306 INFO[org.hibernate.validator.util.Version](MSC服务线程1-5)Hibernate Validator 4.2.0.最终18:43:39301信息[org.jboss.as](MSC服务线程1-5)JBAS015951:管理控制台收听http://:9990 18:43:39304 INFO[org.jboss.as](MSC服务线程1-5)JBAS015874:JBoss AS 7.1.1.最终"Brontes"启动于9361毫秒-启动了260项服务中的180项(78项服务被动或按需)18:43:39406 INFO[org.jboss.as.server](展开扫描程序线程-2)JBAS018559:已展开"FirstEJBProject.jar"

Persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="FirstEJBProject">
    <jta-data-source>java:/XE</jta-data-source>
    <class>Persistance.Employee</class>
    <properties>
    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
    <property name="hibernate.hbm2dll.auto" value="create"/>

    </properties>
    </persistence-unit>
</persistence>

员工POJO类:

package Persistance;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Employee implements Serializable {
    public Employee() {
        }

    private int idEmployee;
    private String nameEmployee;
    private String lastNameEmployee;
    private Date dateNaissance;
    private String function;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public int getIdEmployee() {
        return idEmployee;
    }
    public void setIdEmployee(int idEmployee) {
        this.idEmployee = idEmployee;
    }
    public String getNameEmployee() {
        return nameEmployee;
    }
    public void setNameEmployee(String nameEmployee) {
        this.nameEmployee = nameEmployee;
    }
    public String getLastNameEmployee() {
        return lastNameEmployee;
    }
    public void setLastNameEmployee(String lastNameEmployee) {
        this.lastNameEmployee = lastNameEmployee;
    }
    @Temporal(TemporalType.DATE)
    public Date getDateNaissance() {
        return dateNaissance;
    }
    public void setDateNaissance(Date dateNaissance) {
        this.dateNaissance = dateNaissance;
    }
    public String getFunction() {
        return function;
    }
    public void setFunction(String function) {
        this.function = function;
    }
    public Employee(String nameEmployee, String lastNameEmployee,
            Date dateNaissance, String function) {
        super();
        this.nameEmployee = nameEmployee;
        this.lastNameEmployee = lastNameEmployee;
        this.dateNaissance = dateNaissance;
        this.function = function;
    }



}

我发现您的部署可能存在两个问题:

  • persistence.xml文件使用JPA 2.1描述符。JBoss AS 7.1.1支持2.0及更低版本。如果你想要2.1,你应该使用WildFly
  • 该类对自动生成的Id使用IDENTITY策略,并对持久性单元使用Oracle10g方言。Oracle10g不支持SQL IDENTITY的概念,因此您应该选择不同的策略,如SEQUENCETABLE

相关内容

最新更新