Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 表未映射到ejb3.0_Java_Mysql_Ejb 3.0_Java Ee 6 - Fatal编程技术网

Java 表未映射到ejb3.0

Java 表未映射到ejb3.0,java,mysql,ejb-3.0,java-ee-6,Java,Mysql,Ejb 3.0,Java Ee 6,您好,我使用EJB3,我试图从DB中获取一个简单的列表,但我发现这条消息“travauxdereseauurbain未映射[select Tr from travauxdereseauurbain Tr]”,我真的不明白它的意思 这是实体 package com.pfe.model; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import jav

您好,我使用EJB3,我试图从DB中获取一个简单的列表,但我发现这条消息“travauxdereseauurbain未映射[select Tr from travauxdereseauurbain Tr]”,我真的不明白它的意思

这是实体

package com.pfe.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.xml.soap.Text;



@Entity
@Table(name="travauxdereseauurbain")
public class Traveauxdereseauurbain implements Serializable {
    private static final long serialVersionUID = 1L;


@Id
@Column(name="idtru")
private int idtru;
@Column(name = "article")
private String article;
@Column (name="designationtraveau")
private String designationtraveau;
@Column(name="unite")
private String unite;
@Column(name="prixHTVA")
private float prixHTVA;
@Column(name="prixTTC")
private float prixTTC;
@Column (name="qtt")
private float qtt;
@Column(name="montantHTVA")
private float montantHTVA;
@Column(name="montantTTC")
private float montantTTC;
public int getIdtru() {
    return idtru;
}
public void setIdtru(int idtru) {
    this.idtru = idtru;
}
public String getArticle() {
    return article;
}
public void setArticle(String article) {
    this.article = article;
}
public String getDesignationtraveau() {
    return designationtraveau;
}
public void setDesignationtraveau(String designationtraveau) {
    this.designationtraveau = designationtraveau;
}
public String getUnite() {
    return unite;
}
public void setUnite(String unite) {
    this.unite = unite;
}
public float getPrixHTVA() {
    return prixHTVA;
}
public void setPrixHTVA(float prixHTVA) {
    this.prixHTVA = prixHTVA;
}
public float getPrixTTC() {
    return prixTTC;
}
public void setPrixTTC(float prixTTC) {
    this.prixTTC = prixTTC;
}
public float getQtt() {
    return qtt;
}
public void setQtt(float qtt) {
    this.qtt = qtt;
}
public float getMontantHTVA() {
    return montantHTVA;
}
public void setMontantHTVA(float montantHTVA) {
    this.montantHTVA = montantHTVA;
}
public float getMontantTTC() {
    return montantTTC;
}
public void setMontantTTC(float montantTTC) {
    this.montantTTC = montantTTC;
}
public Traveauxdereseauurbain(int idtru, String article,
        String designationtraveau, String unite, float prixHTVA, float prixTTC,
        float qtt, float montantHTVA, float montantTTC) {
    super();
    this.idtru = idtru;
    this.article = article;
    this.designationtraveau = designationtraveau;
    this.unite = unite;
    this.prixHTVA = prixHTVA;
    this.prixTTC = prixTTC;
    this.qtt = qtt;
    this.montantHTVA = montantHTVA;
    this.montantTTC = montantTTC;
}
public Traveauxdereseauurbain() {
    super();
}








}
`
还有刀类

     package com.pfe.data;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.pfe.controller.travauxdereseauurbainBean;
import com.pfe.model.Traveauxdereseauurbain;



import com.pfe.model.Traveauxdereseauurbain;







@Stateless
public class TravauxdereseauurbainDAO {




    @PersistenceContext
    private EntityManager em;


    public void AddTravauxdereseauurbainDAO (Traveauxdereseauurbain Trurbain)
    {
        em.persist(Trurbain);
    }




    public Traveauxdereseauurbain affichernimpr()
    {


         Query q =em.createNamedQuery("select tr from travauxdereseauurbain tr");


             return  (Traveauxdereseauurbain) q.getResultList().get(0);


    }
}

`
我得到了这个错误:

原因:javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: travauxdereseauurbain未映射[从中选择Tr travauxdereseauurbain Tr]


使用createQuery而不是createNamedQuery

这两者之间有区别


必须在实体上定义命名查询,然后才能由实体管理员引用。这可能会更详细地解释:

对不起,我的老师要求使用Namedquery。。。有解决这个问题的方法吗?请阅读我给你的链接。它解释了如何进行命名查询