При нажатии на кнопку 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>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Сегодня запустил свой проект, обновил Intellij IDEA и произошло нечто такое, из-за чего я не могу писать свой прекрасный код
Я посылаю запрос на сервер, он мне отправляет String[] или String с помощью byte[]Моя задача - преобразовать этот массив байтов хоть в что-нибудь читаемое
Подписываюсь на LiveData которая находится во ViewModel во фрагменте