Java 使用嵌入对象(元组)选择Hibernate条件
在我的例子中,我有一个SQL查询,如下所示:Java 使用嵌入对象(元组)选择Hibernate条件,java,sql,hibernate,embeddable,Java,Sql,Hibernate,Embeddable,在我的例子中,我有一个SQL查询,如下所示: select * from event_instance where (object_id, object_type) in (<LIST OF TUPLES RETRIEVED FROM SUBQUERY>); 我想把它映射到Hibernate实体上,但这个查询有问题。我的映射如下所示: @Entity @Table(name="event_instance") public class Aud
select * from event_instance where (object_id, object_type) in
(<LIST OF TUPLES RETRIEVED FROM SUBQUERY>);
我想把它映射到Hibernate实体上,但这个查询有问题。我的映射如下所示:
@Entity
@Table(name="event_instance")
public class AuditEvent {
<OTHER_FIELDS>
@Column( name = "object_type", nullable = false)
private String objectType;
@Column( name ="object_id" , nullable = false)
private Integer objectId;
}
第二实体:
@Entity
@Table(schema = "els" ,name = "acg_objects")
public class AcgObject implements Serializable{
@Id
@Column(name = "acg_id")
private String acgId;
@Id
@Column(name="object_type")
private String objectType;
@Id
@Column(name="object_id")
private Integer objectId;
<OTHER FIELDS>
}
我已经运行了获取AcgObjects的查询,对于我的DAO,我要获取列表,我唯一想做的就是使用如下条件查询一个tople:
crit.add(Restrictions.in("objectType,objectId",<List of tuples>);
可能吗?我试图使用@Embedded object,但不知道如何准确地为它构造查询。请提供帮助您可以在标准SQL或使用标准中执行此操作;如果要使用特定的RDBMS,必须将其分成两个不同的限制或使用