从递归休眠查询中获取最小字符串
Get string minimum from recursive hibernate query
我有一个与其自身具有多对多关系的实体:
@Entity
@Table(name = "asset")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Asset implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(EnumType.STRING)
@Column(name = "provided_c")
private EnumerationClass providedC; // A0, A1, A2, ...
@ManyToMany
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JoinTable(name = "asset_dependencies",
joinColumns = @JoinColumn(name = "assets_id", `referencedColumnName = "id"),`
inverseJoinColumns = @JoinColumn(name = "dependencies_id", referencedColumnName = "id"))
private Set<Asset> dependencies = new HashSet<>();
当我在我的 Spring 数据存储库中调用此查询时,我确实获得了所有资产和相关资产。
@Query(value = "select distinct asset from Asset supporting_asset left join fetch asset.dependencies")
List<Asset> findAllWithEagerRelationships();
但我需要获取另一个计算字段。
所有资产都有一个分类(提供的 C:A0 -A3)。计算字段将是所有资产的最低类别,该资产取决于。
有什么好的方法可以实现吗?
或者什么是正确的方法?
使用@Formula 来实现此功能。您可以放置一个查询来评估最低依赖类别,它将在加载实体时触发。
我有一个与其自身具有多对多关系的实体:
@Entity
@Table(name = "asset")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Asset implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(EnumType.STRING)
@Column(name = "provided_c")
private EnumerationClass providedC; // A0, A1, A2, ...
@ManyToMany
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JoinTable(name = "asset_dependencies",
joinColumns = @JoinColumn(name = "assets_id", `referencedColumnName = "id"),`
inverseJoinColumns = @JoinColumn(name = "dependencies_id", referencedColumnName = "id"))
private Set<Asset> dependencies = new HashSet<>();
当我在我的 Spring 数据存储库中调用此查询时,我确实获得了所有资产和相关资产。
@Query(value = "select distinct asset from Asset supporting_asset left join fetch asset.dependencies")
List<Asset> findAllWithEagerRelationships();
但我需要获取另一个计算字段。 所有资产都有一个分类(提供的 C:A0 -A3)。计算字段将是所有资产的最低类别,该资产取决于。
有什么好的方法可以实现吗? 或者什么是正确的方法?
使用@Formula 来实现此功能。您可以放置一个查询来评估最低依赖类别,它将在加载实体时触发。