字段名          数据类型        数据长度
省表 tb_province
省编号 id         int         4
省名 provinceName varchar(8) 1
市表 tb_city
城市编号 id         int           4
城市名 cityName        varchar(8)      1
外键 provinceId         int         4这两天在学习JPA OneToMany 映射问题,可是在网上找了好多资料,也没有看明白,网上的示例又太少,所以弄了上面的两个关联表,希望有朋友可以给予一下指点,对这两个表在ELIPASE下写类进行OneToMany映射,在此先谢谢了。

解决方案 »

  1.   

    package com.family168.domain;import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    @Entity
    public class Child {
        private Long id;
        private String name;
        private Parent parent;    @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        public Long getId() {
            return id;
        }    public void setId(Long id) {
            this.id = id;
        }    @Column
        public String getName() {
            return name;
        }    public void setName(String name) {
            this.name = name;
        }    @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name = "PARENT_ID")
        public Parent getParent() {
            return parent;
        }    public void setParent(Parent parent) {
            this.parent = parent;
        }
    }package com.family168.domain;import java.util.HashSet;
    import java.util.Set;import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.OrderBy;
    @Entity
    public class Parent {
        private Long id;
        private String name;
        private Set<Child> children = new HashSet<Child>(0);    @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        public Long getId() {
            return id;
        }    public void setId(Long id) {
            this.id = id;
        }    @Column
        public String getName() {
            return name;
        }    public void setName(String name) {
            this.name = name;
        }    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "parent")
        @OrderBy("id asc")
        public Set<Child> getChildren() {
            return children;
        }    public void setChildren(Set<Child> children) {
            this.children = children;
        }
    }