java - 在 hibernate 中,实体名称属性的作用是什么?

标签 java hibernate

这是否意味着,我们可以在 HQL 中使用与其类名不同的另一个名称?

如:

 <class  name="package.UserEntity" entity-name="user" ...>
 ...

而不是像这样使用:

from UserEntity where userId=?

我们可以像这样使用 HQL:

 from user where userId=?

最佳答案

根据文档,名称和实体名称的定义是:

name:持久类或接口(interface)的完全限定 Java 类名。如果缺少此属性,则假定映射是针对非 POJO 实体。

entity-name :Hibernate3 允许一个类被多次映射,可能映射到不同的表。

示例:

<hibernate mapping>
    <class name="package.UserEntity" entiy-name="User1" table="User1">
        <id>.....</id>
            <property>....</property>
            <property>....</property>
     </class>

     <class name="package.UserEntity" entiy-name="User2" table="User2">
        <id>.....</id>
            <property>....</property>
            <property>....</property>
     </class>
</hibernate mapping>


Session s = SessionFactory.openSession();
List table1List = s.createQuery("FROM User1").list();

List table1List = s.createQuery("FROM User2").list();

关于java - 在 hibernate 中,实体名称属性的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493344/

相关文章:

java - 如何在Hibernate中使用ifnull(max(Id),0)等mysql语法

java - hibernate 不一致

sql - hibernate 搜索、实体和 SQL View

java - RMI : determine the IP address of a remote object

java - 如何在 Jersey jax-rs 中接收 2 个二进制文件和 JSON?

java - AntClassLoader 无法转换为 URLClassLoader

java - Struts 2 和 Hibernate 登录表单

java - http 到 https 重定向(tomcat/jboss)

java - 运行测试时出现 InaccessibleObjectException

java - 通过子查询缩小查询结果