EntityManager persist() не сохраняет данные в БД ( PostgreSQL )

182
24 октября 2018, 07:10

При нажатии на кнопку Register должен добавляться новый пользователь в БД. Консоль выдает :

INFO [stdout] (default task-1) Hibernate: insert into public.customer (email, password, id) values (?, ?, ?)

но при этом данные не записываются (никаких ошибок нету)

сервер -WildFly 13

RegisterController класс

@Named
@RequestScoped
public class RegisterController implements Serializable {
private static final long serialVersionUID = 1L;
@PersistenceContext
private EntityManager em;
@Resource
private UserTransaction userTrans;
@Inject
private Customer customer;
public Customer getCustomer() {
    return customer;
}
public void setCustomer(Customer customer) {
    this.customer = customer;
}
public String persist() {
    try {
        userTrans.begin();
        em.persist(customer);
        userTrans.commit();
    } catch (Exception e) {
        e.printStackTrace();
    } 
    return "register";
  }
}

Customer - класс :

 @Entity
 @Table(schema="public", name = "customer")
 @NamedQuery(name = "Customer.findAll", query = "SELECT c FROM Customer c")
 public class Customer implements Serializable {
 private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(
        name="CUSTOMER_ID_GENERATOR", 
        sequenceName="seq_customer",
        schema="public",
        allocationSize=1,
        initialValue=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, 
generator="CUSTOMER_ID_GENERATOR")
private Long id;
private String email;
private String password;

@OneToMany(mappedBy = "buyer")
private Set<Item> purchases;

@OneToMany(mappedBy = "seller")
private Set<Item> offers;
public Customer() {
} ...
<геттеры и сеттеры>

persistencе.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="online-shop">
    <class>com.java.model.Customer</class>
    <class>com.java.model.Item</class>
        <properties>
        <property name="hibernate.dialect"
             value="org.hibernate.dialect.PostgreSQLDialect"/>
        <!-- DB Dialect -->
        <property name="hibernate.hbm2ddl.auto" value="create" /> 
        <!-- create / create-drop / update -->
        <property name="hibernate.show_sql" value="true" /> 
        <!-- Show SQL in  console -->
        </properties>
    </persistence-unit>
</persistence>

Пытался добавлять em.flush(); но это не помогло.

Буду очень благодарен за помощь/совет!

data-source

       <datasource jndi-name="java:/PostgresDS" pool-name="PostgresDS">
          <connection-url>jdbc:postgresql://localhost:5432/postgresdb</connection-url>
          <driver-class>org.postgresql.Driver</driver-class>
          <driver>postgresql-42.2.4.jar</driver>
          <security>
              <user-name>postgres</user-name>
              <password>********</password>
          </security>
          <validation>
              <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
              <background-validation>true</background-validation>
              <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
          </validation>
      </datasource>
READ ALSO
Package is declared in module, which is not in the module graph

Package is declared in module, which is not in the module graph

Сегодня запустил свой проект, обновил Intellij IDEA и произошло нечто такое, из-за чего я не могу писать свой прекрасный код

311
Как правильно собрать Maybe RxJava2?

Как правильно собрать Maybe RxJava2?

Работаю с Room есть вот такой метод

165
Проблема перевода byte[] в String[] или в String. JAVA

Проблема перевода byte[] в String[] или в String. JAVA

Я посылаю запрос на сервер, он мне отправляет String[] или String с помощью byte[]Моя задача - преобразовать этот массив байтов хоть в что-нибудь читаемое

171
LiveData постит только последнее значение

LiveData постит только последнее значение

Подписываюсь на LiveData которая находится во ViewModel во фрагменте

174