sql >> データベース >  >> RDS >> Mysql

Hibernate:自己参加の混乱?

    @Entity
    @Table(name = "category")
    public class FetchSubCategory implements Serializable {
    
        private static final long serialVersionUID = 1L;
    
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "category_id")
        private Integer categoryId;
    
        @Column(name = "category_name")
        private String categoryName;
    
        @NotFound(action = NotFoundAction.IGNORE)
        @ManyToOne
        @JsonIgnore
        @JoinColumn(name = "parent_category_id")
        private FetchSubCategory mainCategory;
    
        @JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)//Avoiding empty json arrays.objects
        @OneToMany(mappedBy = "mainCategory", fetch = FetchType.EAGER)
        private List<FetchSubCategory> subCategory;
    
        public Integer getCategoryId() {
            return categoryId;
        }
    
        public void setCategoryId(Integer categoryId) {
            this.categoryId = categoryId;
        }
    
        public String getCategoryName() {
            return categoryName;
        }
    
        public void setCategoryName(String categoryName) {
            this.categoryName = categoryName;
        }
    
        public FetchSubCategory getMainCategory() {
            return mainCategory;
        }
    
        public void setMainCategory(FetchSubCategory mainCategory) {
            this.mainCategory = mainCategory;
        }
    
        public List<FetchSubCategory> getSubCategory() {
            return subCategory;
        }
    
        public void setSubCategory(List<FetchSubCategory> subCategory) {
            this.subCategory = subCategory;
        }
    
    public List<FetchSubCategory> fetchSubCategory() throws SQLException, ClassNotFoundException, IOException {
            List<FetchSubCategory> groupList = null;
            try {
                Session session = sessionFactory.getCurrentSession();
                Query query = session.createQuery("select distinct e FROM FetchSubCategory e INNER JOIN e.subCategory m ORDER BY m.mainCategory");
                groupList = query.list();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return groupList;
        }
    


    1. SQLServerはCSVを複数の行に分割します

    2. データベースの日時から現在の日時を減算する方法-PHP

    3. システム内の役割とステータスの管理

    4. ORA-04091:表[blah]が変化しています。トリガー/関数がそれを認識しない可能性があります