2016-12-08 2 views
-1

java правильно подключается к базе данных через wildfly и создает таблицу в базе данных. С помощью ManagerCount я хочу вставить тестовые данные в базу данных. ' package hm.edu.chatServer.service;Entity Manager JPA persist вставляет данные в созданную таблицу

import java.io.Serializable; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 

@SuppressWarnings("serial") 
@Entity // markiert Klasse als Entität 
public class CountProcess implements Serializable { 

    @Id // Primary Key Attribut 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int id; 

    @Column(name="Benutzername") 
    private String userName; 


    @Column(name="numberOfReceivedConfirms") 
    private int numberOfReceivedConfirms; 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public String getUserName() { 
     return userName; 
    } 

    public void setUserName(String userName) { 
     this.userName = userName; 
    } 

    public int getNumberOfReceivedConfirms() { 
     return numberOfReceivedConfirms; 
    } 

    public void setNumberOfReceivedConfirms(int numberOfReceivedConfirms) { 
     this.numberOfReceivedConfirms = numberOfReceivedConfirms; 
    } 
} 
' 

здесь мой 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="counttabelle" transaction-type="JTA"> 
     <jta-data-source>java:jboss/datasources/countDS</jta-data-source> 
     <class>hm.edu.chatServer.service.CountProcess</class> 
     <properties> 
      <!-- Properties for Hibernate --> 
     <property name="url" value="jdbc:mysql://localhost/count?createDatabaseIfNotExist=true"></property> 
     <property name="hibernate.archive.autodetection" value="ManagerCount"/> 
     <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
     <property name="hibernate.show_sql" value="true"/> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> 
     </properties> 
    </persistence-unit> 
</persistence> 
     } 
    } 
    ' 

здесь мой ManagerCount.java: ' пакет hm.edu.chatServer.service;

import javax.ejb.Stateless; 
import javax.persistence.EntityManager; 
import javax.persistence.PersistenceContext; 

@Stateless 
public class ManagerCount { 

    @PersistenceContext(unitName="counttabelle") 
    private EntityManager emc; 

    public CountProcess create(CountProcess CountProcess){ 
     emc.persist(CountProcess); 

     return CountProcess; 
    } 
} 
' 

Что мне нужно делать, когда я хочу вставить тестовые данные в созданные таблицы?

+0

необходимо вызвать persist, а затем зафиксировать транзакцию. И если у вас есть проблема, вы смотрите в журнале выбранного вами поставщика JPA ... –

+0

Спасибо! Ну вот так? –

+0

'public CountProcess save (CountProcess countProcess) {// Um ​​Entität «count» aus Klasse «CountProcess» в DB zu speichern create oder save \t emc.getTransaction(). Begin(); \t emc.persist (countProcess); \t emc.getTransaction(). Commit(); \t \t \t \t return countProcess; ' –

ответ

0

Попробуйте так:

public CountProcess create(CountProcess CountProcess){ 
     emc.persist(CountProcess); 
     emc.getTransaction().commit(); 
     emc.close(); 
     return CountProcess; 
    } 

Вы можете проверить в вашем сервлета путем создания объекта типа CountProcess заполнит его с тестовыми данными, а затем вызвать ваш метод создания из экземпляра ManagerCount класс

+0

Хорошо Спасибо! Моя проблема в том, как я могу вставить тестовые данные, чтобы увидеть, работает ли это? –

+0

создайте объект CountProcess, используйте ваши сеттеры, а затем вызовите созданный метод. – FuSsA

+0

Спасибо, мне нужно поместить объект CountProcess с сеттерами в моем ManagerCount.java? И где я должен назвать мой метод создания? –

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