Bonjour,

Pour tests, j'ai une petite application qui utilise un Session Bean sans problème.

Dès que j'utilise dans cette application un Entity Bean, au démarrage du serveur JBoss j'obtiens l'exception suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
java.lang.RuntimeException: Illegal @PersistenceUnit on javax.persistence.EntityManager com.MonEJBBean.persistance :There is no default persistence unit in this deployment.
La classe Entity Bean est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com;
import java.io.Serializable;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
 
@Entity
@Table(name="MonEntite") // en option
public class MonEntite implements Serializable {
 
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;
 
    private String name;
 
    private static final long serialVersionUID = 1L;
 
    public MonEntite() {
        super();
    }
 
    public MonEntite(String name) 
    {
        super();
        setName(name);
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getId() {
        return this.id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
}
... et le fichier persistence.xml est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?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_1_0.xsd">
     <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
  <properties>
   <property name="hibernate.archive.autodetection" value="class, hbm" />
   <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
   <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa" />
   <property name="hibernate.connection.username" value="root" />
   <property name="hibernate.connection.password" value="root" />
   <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
 
  </properties>
 </persistence-unit>
 
</persistence>
La base de données est une base MySQL en local et l'accès à la table jta est correcte à partir de phpmyadmin et à partir de eclipse.

Comment régler ce problème que je cherche depuis de nombreuses heures déjà.

A+