Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Jpa 是否可以将实体的命名查询移动到另一个类_Jpa_Entity_Named Query - Fatal编程技术网

Jpa 是否可以将实体的命名查询移动到另一个类

Jpa 是否可以将实体的命名查询移动到另一个类,jpa,entity,named-query,Jpa,Entity,Named Query,我有一个名为Client的实体,它有一些命名查询和本机命名查询。我想做的是,我想把这个命名查询移动到另一个类。为此,我想通过另一个类ClientQuery扩展客户机实体。并将所有命名的本机查询移动到该类。有可能吗 客户端类 @XmlRootElement(name = "CLIENT_DETAILS") @XmlAccessorType(XmlAccessType.FIELD) @Entity @NamedQueries({ @NamedQuery(name = Client.GET_C

我有一个名为Client的实体,它有一些命名查询和本机命名查询。我想做的是,我想把这个命名查询移动到另一个类。为此,我想通过另一个类ClientQuery扩展客户机实体。并将所有命名的本机查询移动到该类。有可能吗

客户端类

@XmlRootElement(name = "CLIENT_DETAILS")
@XmlAccessorType(XmlAccessType.FIELD)
@Entity
@NamedQueries({
    @NamedQuery(name = Client.GET_CLIENT_BYLANGID,
    query = "select T from Client T where T.clientPK.langId=:langId")
})
public class Client implements Serializable {
public static final String GET_CLIENT_BYLANGID = "Client.getClientByLangId";

据我所知,您想知道将
@NamedQuery
从Entityclass移到非entity类是否正确


我很快检查了规范,没有看到任何限制。此外,我还尝试在mapping.xml中加入
元素,该元素位于
元素之外,并且它是xml有效的,因此它是合法的。

如果将@NamedQuery移动到一个类中,而该类不是一个不能作为hibernate使用的实体,则只扫描作为实体的类。您将发现类似namedquerynotfound的内容,而且将它们放在对它们有更多引用的实体中也是一种很好的做法