У меня есть следующая сущность: < /p>
Код: Выделить всё
@Entity
@Table(name = "ziggy_DatastoreProducerConsumer")
public class DatastoreProducerConsumer {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "ziggy_DatastoreProducerConsumer_generator")
@SequenceGenerator(name = "ziggy_DatastoreProducerConsumer_generator", initialValue = 1,
sequenceName = "ziggy_DatastoreProducerConsumer_sequence", allocationSize = 1)
private Long id;
@Column(nullable = false, columnDefinition = "varchar(1000000)", unique = true)
private String filename;
private long producerId;
@ElementCollection
@JoinTable(name = "ziggy_DatastoreProducerConsumer_consumers")
private Set consumers = new TreeSet();
}
Query sqlQuery = getSession()
.createNativeQuery("select filename from ziggy_datastoreproducerconsumer where id in "
+ "(select datastoreproducerconsumer_id from ziggy_datastoreproducerconsumer_consumers "
+ "where consumers in (?1))");
sqlQuery.setParameter(1, consumerIds);
return sqlQuery.getResultList();
}
< /code>
Это работает, и обладает отличной производительностью: в контексте моей системы запрос выполняется через пару секунд. предложения?
Подробнее здесь: https://stackoverflow.com/questions/794 ... a-criteria