JPA最基础的例子问题

小弟今天才开始学习JPA

1.在oracle下建了一张employee表:id,name,salary

2.建一个实体
package examples.model;

@Entity
public class Employee {
@Id
private int id;
private String name;
private long salary;

public Employee() {
}
    ...省了get()和set()
    }

3.presistence.xml

examples.model.Employee







问题:@Entity为什么提示我The table Employee cannot be found on the database
可是我有这张表了啊,为什么啊?
[b]问题补充:[/b]
orcale中分大小写吗?
[b]问题补充:[/b]
我是不是那个地方没有配置对?
[b]问题补充:[/b]
刚才那个问题重起了一下eclipse就没了
一运行测试类就出这个异常时说明原因
测试类:
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("EmployeeService");
EntityManager em = emf.createEntityManager();
EmployeeService service = new EmployeeService(em);

    em.getTransaction().begin();
    Employee emp = service.createEmployee(158, "John Doe", 45000);
    em.getTransaction().commit();
    System.out.println("Persisted:" + emp);

异常:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named EmployeeService
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
at EmployeeTest.main(EmployeeTest.java:11)
[b]问题补充:[/b]
配置文件不是放在src/META-INF/persistence.xml???
为什么找不到?
[b]问题补充:[/b]

oracle.toplink.essentials.PersistenceProvider

加上这句也不行啊,你们谁有一个简单jpa的例子,发个我,我照着做一下
怎么也要先弄个jpa的helloworld出来啊!~~~

邮箱:lovellj2002@163.com
[b]问题补充:[/b]
经过一番折腾
异常换成

指定了无效的 Oracle URL
我的oracle驱动是ojbc14.jar
oracle.jdbc.OracleDriver 这个不对?
[b]问题补充:[/b]
jdbc:oracle:thin:@localhost:1521:ZFKGL

哥们成功了!~~谢谢各位太高兴了

刚才少了个:

7个回答

presistence.xml 里没定义JPA实现吧
把toplink的JPA实现类定义到里面看下

你的表名是employee,小写,

Employee类是大写啊

The table Employee cannot be found on the database
至少这个信息就是说明没有这个表

当然也可能是模式问题

EntityManagerFactory emf = Persistence
.createEntityManagerFactory("EmployeeService"); 初始化的时候是不是需要提供presistence.xml 的位置呢?

当你的table和class名字不对应的时候就写个@Table告诉jpa table的名字

@Entity
@Table("Employee")
public class Employee {

: No Persistence provider for EntityManager named EmployeeService
像 这个异常,感觉起来就是没读取到配置文件,还是怎么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问