У меня есть MySql Table, где id одной строки является родительским идентификатором для многих других строк.Мне нужно отобразить таблицу, в которой одна переменная должна быть в состоянии получить количество строк, на которые ссылается идентификатор, как parentId.
Структура таблицы -
CREATE TABLE `oc_feed_comment` (
`id` int(11) NOT NULL,
`comment_time` datetime DEFAULT NULL,
`feed_id` int(11) NOT NULL,
`comment_text` varchar(1000) DEFAULT NULL,
`student_id` bigint(20) DEFAULT NULL,
`member_id` bigint(20) DEFAULT NULL,
`owner_type` varchar(50) NOT NULL,
`parent_id` int(11) DEFAULT 0,
`status` varchar(50) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `oc_feed_comment_ibfk_1`
FOREIGN KEY (`feed_id`)
REFERENCES `oc_client`.`oc_feed` (`id`))
ENGINE=InnoDB DEFAULT CHARSET=latin1;
Класс Java -
@Entity(name = "oc_feed_comment")
public class FeedComment {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feed_id", referencedColumnName = "id")
private Feed feed;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "student_id", referencedColumnName = "sk_student_id")
private MasterStudent student;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id", referencedColumnName = "sk_member_id")
private MasterMember member;
@Column(name = "owner_type", length = 50)
@Enumerated(EnumType.STRING)
private OwnerType ownerType;
@Column(name = "comment_time")
private LocalDateTime commentTime;
@Column(name = "comment_text")
private String commentText;
@Column(name = "parent_id")
private int parentId;
private int repliesCount;
@Column(name = "status", length = 50)
@Enumerated(EnumType.STRING)
private CommentStatus status;
@OneToMany(mappedBy = "feedComment", fetch = FetchType.LAZY)
private Set<FeedCommentAbuse> feedCommentAbuseList;
}
Мне нужно количество всех строк с идентификатором parentId.