Hibernate 我们可以在抽象实体级别创建JPQL查询吗?

Hibernate 我们可以在抽象实体级别创建JPQL查询吗?,hibernate,jpql,Hibernate,Jpql,我有一个抽象类Log.java和两个实现类CreateLog.java和UpdateLog.java,这两个表有一些条目,我试图在抽象实体级别获取这些条目。我的类是: import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import

我有一个抽象类Log.java和两个实现类CreateLog.java和UpdateLog.java,这两个表有一些条目,我试图在抽象实体级别获取这些条目。我的类是:

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author user
 */
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@XmlRootElement
public abstract class Log implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    @Column(name = "id")
    private Integer id;

    @Column(name = "log_date")
    @Temporal(TemporalType.TIMESTAMP)
    private Date logDate;
}
我想获取所有日志,所以查询是:

上述查询出现错误org.hibernate.exception.DataException:无法执行查询


请仅建议对其进行JPQL查询

你能发布完整的stacktrace吗?谢谢Predrag Maric。事实上,在你更新之后,我看到了我的日志,所以我发现了问题。谢谢!
package com.kommbox.types;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name = "create_logs")
@XmlRootElement
public class CreateLog extends Log
{

}
package com.kommbox.types;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name = "update_logs")
@XmlRootElement
public class UpdateLog extends Log 
{

}
public void getAllLogs()
    {
        try
        {
            List<Log> allLogs = em.createQuery("select log from com.types.Log log").getResultList();
            if (allLogs.size() > 0)
            {

            }
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }