Próbuję stworzyć formę do logowania się przy pomoc JPA. Ale napotykam na błąd(niżej), który rozkłada mnie na łopatki. Męczę się z tym pół dnia może znajdzie się ktoś chętny i podpowie mi co robię źle. Zanim wyrwę sobie resztki włosów.
Libki:
http://h.imagehost.org/view/0798/cos1
persistance.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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="Users" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>entity.Users</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/films"/>
<property name="javax.persistence.jdbc.password" value="123"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="root"/>
</properties>
</persistence-unit>
</persistence>
Users.java - entity
```
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
*
-
@Author misz
*/
@Entity
@Table(name="users")
public class Users implements Serializable {@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
@Column(name="rules")
private String rules;/**
- @return the id
*/
public String getId() {
return id;
}
/**
- @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
- @return the username
*/
public String getUsername() {
return username;
}
/**
- @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
- @return the password
*/
public String getPassword() {
return password;
}
/**
- @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
- @return the rules
*/
public String getRules() {
return rules;
}
/**
- @param rules the rules to set
*/
public void setRules(String rules) {
this.rules = rules;
}
- @return the id
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("JavaApplication1PU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
try {
Query q = em.createQuery("SELECT u FROM users u WHERE rules='admin'");
q.getResultList();
//q.setParameter(1, 101);
List results = q.getResultList();
if(results.size()!=0){
Iterator stIterator=results.iterator();
while(stIterator.hasNext()){
Users u=(Users)stIterator.next();
System.out.print("id:"+u.getId());
System.out.print("sroll:"+u.getUsername());
System.out.print("scourse:"+u.getPassword());
System.out.println();
}
}
else{
System.out.println("Record not found.");
}
} catch (Exception e) {
System.out.println( e.getMessage() );
em.getTransaction().rollback();
} finally {
em.close();
}
}
<b>Log:</b>
INFO: Hibernate 3.2.5
2010-06-10 1748 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
2010-06-10 1748 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
2010-06-10 1748 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
2010-06-10 1748 org.hibernate.ejb.Version <clinit>
INFO: Hibernate EntityManager 3.3.2.GA
Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persistence provider for EntityManager named JavaApplication1PU
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at javaapplication3.Main.jButton1ActionPerformed(Main.java:94)
at javaapplication3.Main.access$000(Main.java:29)
at javaapplication3.Main$1.actionPerformed(Main.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
at java.awt.Component.processMouseEvent(Component.java:6108)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:5873)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4469)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4295)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4295)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
BUILD SUCCESSFUL (total time: 5 seconds)