我有2张表   
source表                                          user表
sid int primarykey,                                uid int primarykey, 
name varchar(12),                                  name varchar(12),
u_id int foreignkey references user    source 多对一 user
帮我用 annotation写上面的pojo类 
要双向关联

解决方案 »

  1.   

    User表:
    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.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    /**
     * User entity. @author MyEclipse Persistence Tools
     */
    @Entity
    @Table(name="user"
        ,catalog="struts2jpa"
    )public class User  implements java.io.Serializable {
        // Fields         private Integer uid;
         private String name;
         private Set<Source> sources = new HashSet<Source>(0);
        // Constructors    /** default constructor */
        public User() {
        } /** minimal constructor */
        public User(Integer uid) {
            this.uid = uid;
        }
        
        /** full constructor */
        public User(Integer uid, String name, Set<Source> sources) {
            this.uid = uid;
            this.name = name;
            this.sources = sources;
        }   
        // Property accessors
        @Id 
        
        @Column(name="uid", unique=true, nullable=false)    public Integer getUid() {
            return this.uid;
        }
        
        public void setUid(Integer uid) {
            this.uid = uid;
        }
        
        @Column(name="name", length=12)    public String getName() {
            return this.name;
        }
        
        public void setName(String name) {
            this.name = name;
        }
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="user")    public Set<Source> getSources() {
            return this.sources;
        }
        
        public void setSources(Set<Source> sources) {
            this.sources = sources;
        }
       
    }source表:
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    import javax.persistence.Table;@Entity
    @Table(name="source"
        ,catalog="struts2jpa"
    )public class Source  implements java.io.Serializable {
        // Fields         private Integer sid;
         private User user;
         private String name;
        // Constructors    /** default constructor */
        public Source() {
        } /** minimal constructor */
        public Source(Integer sid) {
            this.sid = sid;
        }
        
        /** full constructor */
        public Source(Integer sid, User user, String name) {
            this.sid = sid;
            this.user = user;
            this.name = name;
        }   
        // Property accessors
        @Id 
        
        @Column(name="sid", unique=true, nullable=false)    public Integer getSid() {
            return this.sid;
        }
        
        public void setSid(Integer sid) {
            this.sid = sid;
        }
    @ManyToOne(fetch=FetchType.LAZY)
            @JoinColumn(name="u_id")    public User getUser() {
            return this.user;
        }
        
        public void setUser(User user) {
            this.user = user;
        }
        
        @Column(name="name", length=12)    public String getName() {
            return this.name;
        }
        
        public void setName(String name) {
            this.name = name;
        }}
      

  2.   

    差不多就是LS的了,有一点可以说明一下
    @ManyToOne(fetch=FetchType.LAZY)
    也可以不采用延迟加载
      

  3.   

    有没有一种工具可以直接通过表生成上面的jpa啊