2014-02-04 2 views
0

Я хочу создать новую таблицу с использованием OpenJPA в исходном коде Apache ODE. Я создал интерфейс и предоставил реализацию. Я скомпилировал процесс с помощью Maven и развернул его на Apache Tomcat. Однако при выполнении процесса BPEL на двигатель Apache ODE, я получаю ошибку:Как создать таблицу с помощью OpenJPA для Apache ODE?

org.apache.openjpa.persistence.PersistenceException: Table/View 'ODE_POLICY_ATTACHMENT' does not exist.

я добавил свой класс PolicyAttachmentDAOImpl в ApacheODE \ дао-JPA \ SRC \ главная \ ресурсы \ META-INF \ живучесть. XML

persistence xmlns="http://java.sun.com/xml/ns/persistence" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     version="1.0"> 
<persistence-unit name="ode-dao"> 
    <!-- 
     This properties file is used specifically by the 
     OpenJPA Enhancer. 
    --> 
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> 
    <class>org.apache.ode.dao.jpa.ProcessDAOImpl</class> 
    <class>org.apache.ode.dao.jpa.PolicyAttachmentDAOImpl</class> 
    ............................................................. 
</persistence-unit> 

Мой DAO (Data Access Object) интерфейс:

public interface PolicyAttachmentDAO { 

/** 
* Get the process. 
* 
* @return process reference. 
*/ 
ProcessDAO getProcess(); 

............... 
} 

Тогда Я внедрил его в таком классе:

@Entity 
@Table(name = "ODE_POLICY_ATTACHMENT") 
/** 
* 
*  OpenJPA implementation of the {@link PolicyAttachmentDAO} interface. 
* 
*/ 
public class PolicyAttachmentDAOImpl extends OpenJPADAO implements PolicyAttachmentDAO{ 
@Id 
@Column(name = "POLICYATTACHMENT_ID") 
@GeneratedValue(strategy = GenerationType.AUTO) 
private Long _attachmentId; 

@ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST }) 
@Column(name = "PROCESS_ID") 
private ProcessDAOImpl _process; 

@Basic 
@Column(name = "POLICYATTACHMENT_NAME") 
private String _attachmentName; 

@Basic 
@Column(name = "POLICYATTACHMENT_FILE_DATE") 
private Date _attachmentFileDate; 

    public PolicyAttachmentDAOImpl(ProcessDAOImpl process, String policyAttachmentName, Date attachmentFileDate) { 
     _process = process; 
     _attachmentName = policyAttachmentName; 
     _attachmentFileDate = attachmentFileDate; 
    } 

    public ProcessDAO getProcess() { 
     return _process; 
} 

    ..................... 
} 

Может ли кто-нибудь вести меня, как создать таблицу?

Спасибо! Peter

ответ

0

Мне удалось создать мой стол. В исходном коде Apache ODE есть больше файлов persistence.xml, и я не редактировал правильный. После добавления класса PolicyAttachmentDAOImpl в ApacheODE \ dao-jpa-ojpa-derby \ src \ test \ resources \ META-INF \ persistence.xml была создана таблица.

 Смежные вопросы

  • Нет связанных вопросов^_^