Poradziłem sobie z tym, ale mam inny błąd.
Bean
@Stateless
@LocalBean
public class Bean1 {
private EntityManager em;
private EntityManagerFactory emf;
public Bean1() {}
public void connectToDB()
{
emf = Persistence.createEntityManagerFactory("ORM");
em = emf.createEntityManager();
usero.Userek user = new usero.Userek();
user.setName("lolik");
user.setId(1);
em.getTransaction().begin();
em.persist(user);
em.getTransaction().commit();
em.close();
}
}
Entity
@Entity
public class Userek {
@Id
private int id;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="ORM" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>usero.Userek</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/db"/>
<property name="javax.persistence.jdbc.user" value="postgres"/>
<property name="javax.persistence.jdbc.password" value="pswd"/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
</properties>
</persistence-unit>
</persistence>
Servlet
@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@EJB Bean1 ejb;
public Servlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.write("<h1>Hello world!</h1>");
ejb.connectToDB();
out.write("Connected");
}
}
Błąd dostaje w linijce "em.persist(user);" w klasie Bean1. Raz jest to:
java.lang.IllegalArgumentException: Object: usero.Userek@13ae3d1 is not a known entity type
lub NullPointerException