クラスゲーム:
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "game")
public class Game {
@id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_game", nullable = false)
private Long id;
@Column(nullable = false)
private String description;
@Column(name = "ad_enable", nullable = false)
private boolean enable;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "file_id", nullable = false)
private File file;
@ManyToOne
@JoinColumn(name = "section_id", nullable = false)
private Section section;
@Transient
@JsonSerialize
private Long rating;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "game",
cascade = CascadeType.ALL, orphanRemoval = true)
private Set<Rating> ratings;
}
クラス評価:
@Data
@Entity
@ToString(exclude = { "user" })
@EqualsAndHashCode(exclude = { "user" })
@Table(name = "rating")
public class Rating {
@id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_rating", nullable = false)
private Long id;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
@BASIC
@Column(name = "create_date")
private Date createRating;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id", nullable = false)
private UserBasic user;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "game_id")
private Game game;
@BASIC
private Long value;
}
クラス GameRestImpl:
protected List preprocess(Main main, Iterable list) { リスト項目 = new ArrayList (); 整数テスト; try { for (ゲームアイテム: リスト) { item.setRating(item.getRatings().stream().reduce((acc, r) - > acc + r.getValue())); items.add(アイテム); } } キャッチ (SvcException e) { log.error(e); } 返却商品; } protected Object preprocess(Main principal, Game item) { try { item.setRating(item.getRatings()) .stream() .filter() .reduce((acc, r) - > acc + r.getValue()) ); } キャッチ (SvcException e) { log.error(e); } 返却物; }
エラーが発生したため、ストリームで収集された値を動的属性に渡す方法がわかりません。
演算子 + は、引数の型の評価、ロングに対して未定義です