# [Hibernate] Node to traverse cannot be null



## Guest (24. Okt 2008)

Guten Tag,

um eine Hibernate-Entität zu testen habe ich eine StatelessSessionBean, wobei ich einfach nur ein primitives Select auf alle Einträge mache.

Meine Entität sieht wie folgt aus:


```
@Entity
@Table(name="NewEntity")
@NamedQueries({
	@NamedQuery(name="NewEntity.findAll", query="select a from NewEntity a order by a.id")
})
public class NewEntity implements Serializable {
  private static final long serialVersionUID = 1L;
  private Long id;

  public void setId(Long id) {
    this.id = id;
  }

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Column(name="id")
  public Long getId() {
    return id;
  }
```

Die Entität besteht also aus der Tabelle *"New Entity"* mit der einzigen Spalte *"id"*.

In meiner StatelessSessionBean möchte ich nun das Select ausführen:


```
List<MyEntity> newEntity = em.createQuery("MyEntity.findAll").getResultList();
		System.out.println("Die Größe der Liste: "+newEntity.size());
```

Wenn ich dies ausführe erhalte ich folgende Exception:


```
javax.ejb.EJBException: java.lang.IllegalArgumentException: node to traverse cannot be null!
```
Dies ist doch einfach nur ein simples Select auf die einzige vorhandene Spalte "id". Muss da noch etwas angegeben werden, damit selectiert werden kann?


----------



## maki (24. Okt 2008)

>> um eine Hibernate-Entität zu testen habe ich eine StatelessSessionBean, wobei ich einfach nur ein primitives Select auf alle Einträge mache. 

So etwas macht man doch mit Unittests.

MyEntity vs. NewEntity ?


----------



## JimPanse (3. Nov 2011)

Der Fehler liegt darin, dass du einen named Query in createQuery verwendest!


```
em.createQuery("MyEntity.findAll")
```


```
em.createNamedQuery("MyEntity.findAll")
```


----------



## JimPanse (3. Nov 2011)

ooops der Post war ja Uralt!


----------

