Code: Select all
@Entity
@Table(name = "registry_group")
public class RegistryGroupEntity {
@Id
@SequenceGenerator(name="registry_groups_gen", sequenceName="registry_groups_id_seq", allocationSize = 1)
@GeneratedValue(generator="registry_groups_gen")
private Long id;
@Column(name = "name")
private String name;
@OneToMany(mappedBy = "registryGroup")
private Collection services;
}
Code: Select all
@Entity
@Table(name = "services")
public class ServiceEntity {
@Id
@SequenceGenerator(name="service_gen", sequenceName="services_id_seq", allocationSize = 1)
@GeneratedValue(generator="service_gen")
private Integer id;
@Column(nullable = false, length = 100)
private String name;
}
Code: Select all
public class RegistryGroupRow {
private Long id;
private String name;
private String serviceNames;
public RegistryGroupRow(Long id, String name, List serviceNames) {
this.id = id;
this.name = name;
this.serviceNames = serviceNames;
}
}
Code: Select all
public List getRegistryGroupRows(RegistryGroupFilter filter, Integer offset, Integer limit) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery c = cb.createQuery(RegistryGroupRow.class);
Root registryGroup = c.from(RegistryGroupEntity.class);
c.multiselect(registryGroup.get(RegistryGroupEntity_.id),
registryGroup.get(RegistryGroupEntity_.name),
registryGroup.get(RegistryGroupEntity_.services) //problem is here
);
Für concat möchte ich mit Trennzeichen zu String konkatieren. Zum Sammeln möchte ich in List.
Mobile version