Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 使用HQL和独立IdClass的组合键查询_Java_Hibernate_Hql - Fatal编程技术网

Java 使用HQL和独立IdClass的组合键查询

Java 使用HQL和独立IdClass的组合键查询,java,hibernate,hql,Java,Hibernate,Hql,我使用复合键定义了一个hibernate实体,在列上使用id类和id注释。很好。不过我现在想做一个 当我定义了如下实体(不使用embeddedId)时,使用HQL的语法是什么 或者我需要使用embeddedId吗?如果需要,那么HQL的语法是什么?如果使用,则必须重写equals和hashCode方法,HQL如下所示 SELECT mt FROM MyTable mt WHERE mt.id IN(:listOfKeys) 如果您执行entityManager.find(entityClas

我使用复合键定义了一个hibernate实体,在列上使用id类和id注释。很好。不过我现在想做一个

当我定义了如下实体(不使用embeddedId)时,使用HQL的语法是什么

或者我需要使用
embeddedId
吗?如果需要,那么
HQL
的语法是什么?

如果使用,则必须重写
equals
hashCode
方法,HQL如下所示

SELECT mt
FROM MyTable mt
WHERE mt.id 
IN(:listOfKeys)

如果您执行entityManager.find(entityClass,id);如果id=MyKey,则可以使用该类型。@很遗憾,nicearma仅限于HQL
@Entity
@IdClass(MyKey.class)
@Table(name = "MY_TABLE")
public class MyTable implements Serializable {
    @Column(name = "ID")
    @Id
    private Long id;
    @Column(name = "Column2")
    @Id
    private Long column2;
SELECT mt
FROM MyTable mt
WHERE mt.id 
IN(:listOfKeys)