का उपयोग करते समय एक EntityTransaction उपयोग नहीं कर सकते।मैं यह त्रुटि प्राप्त कर रहा हूँ JTA
मेरे 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="acmeauction">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/MySQLJDBCResource</jta-data-source>
<class>it.uniroma3.acme.auction.model.User</class>
<class>it.uniroma3.acme.auction.model.Auction</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/acmeauction"/>
<property name="javax.persistence.jdbc.user" value="user"/>
<property name="javax.persistence.jdbc.password" value="password"/>
</properties>
</persistence-unit>
</persistence>
क्या मुझे क्या करना कोशिश कर रहा हूँ एक वस्तु (उपयोगकर्ता) लागू करने के लिए, इस तरह से है:
@ManagedBean
public class UserRepository implements Serializable{
@PersistenceUnit
EntityManagerFactory emf;
@PersistenceContext
private EntityManager em;
private static UserRepository instance;
/**
* Gives back the singleton UserRepository singleton.
*/
public static UserRepository getInstance() {
if (instance==null) {
instance = new UserRepository();
}
return instance;
}
private UserRepository() {
emf = Persistence.createEntityManagerFactory("acmeauction");
em = emf.createEntityManager();
}
/**
* Save and persist a new User.
*/
public void save(User user) {
em.getTransaction().begin();
em.persist(user);
em.getTransaction().commit();
}
}
जबकि अगर यह एक साधारण जावा अनुप्रयोग से UserRepository इस्तेमाल करने की कोशिश, इसे सही ढंग से काम करता है।
अग्रिम धन्यवाद, एक
धन्यवाद एक बहुत है, यह शर्मनाक है, लेकिन मैं कोड का वह हिस्सा काम कर रहा पर विचार किया। धन्यवाद, – andreaxi