W momencie dodania do bazy dostaję błąd i nie wiem dla czego również przy wyciąganiu z bazy rekordów dostaje pustą listę.
Controller
@Path("/log")
@Named
@RequestScoped
public class LoginController {
private static Logger logger = Logger.getLogger(LoginController.class);
@Inject
UserDao userDao;
@POST
@Path("/create")
@Consumes("application/json")
public void cresteUser() {
User userData = new User();
userData.setUserLogin("Test");
userData.setUserSName("Test1");
userDao.addUser(userData);
@GET
@Path("/getu")
@Produces("application/json")
public int getUser(){
List<User> list = userDao.findAll();
return list.size();
}
}
DAO
@Named
@RequestScoped
@TransactionManagement
public class UserDao {
EntityManager em;
public User addUser(User userData) {
em.persist(userData);
return userData;
}
public List<User> findAll(){
return em.createQuery("select u from User as u ", User.class).getResultList();
}
}
persistence.xml
<persistence 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"
version="2.0">
<persistence-unit name="MySqlDS">
<jta-data-source>java:/MySqlDS</jta-data-source>
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/db"/>
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="root" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
</persistence>