问题描述
我有2张表source表user表sidintprimarykey,uidintprimarykey,namevarchar(12),namevarchar(12),u_idintforeignkeyreferencesusersource多对一user帮我用annotation写上面的pojo类要双向关联
解决方案
解决方案二:
User表:importjava.util.HashSet;importjava.util.Set;importjavax.persistence.CascadeType;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.FetchType;importjavax.persistence.Id;importjavax.persistence.OneToMany;importjavax.persistence.Table;/***Userentity.@authorMyEclipsePersistenceTools*/@Entity@Table(name="user",catalog="struts2jpa")publicclassUserimplementsjava.io.Serializable{//FieldsprivateIntegeruid;privateStringname;privateSet<Source>sources=newHashSet<Source>(0);//Constructors/**defaultconstructor*/publicUser(){}/**minimalconstructor*/publicUser(Integeruid){this.uid=uid;}/**fullconstructor*/publicUser(Integeruid,Stringname,Set<Source>sources){this.uid=uid;this.name=name;this.sources=sources;}//Propertyaccessors@Id@Column(name="uid",unique=true,nullable=false)publicIntegergetUid(){returnthis.uid;}publicvoidsetUid(Integeruid){this.uid=uid;}@Column(name="name",length=12)publicStringgetName(){returnthis.name;}publicvoidsetName(Stringname){this.name=name;}@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="user")publicSet<Source>getSources(){returnthis.sources;}publicvoidsetSources(Set<Source>sources){this.sources=sources;}}
source表:importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.FetchType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.ManyToOne;importjavax.persistence.Table;@Entity@Table(name="source",catalog="struts2jpa")publicclassSourceimplementsjava.io.Serializable{//FieldsprivateIntegersid;privateUseruser;privateStringname;//Constructors/**defaultconstructor*/publicSource(){}/**minimalconstructor*/publicSource(Integersid){this.sid=sid;}/**fullconstructor*/publicSource(Integersid,Useruser,Stringname){this.sid=sid;this.user=user;this.name=name;}//Propertyaccessors@Id@Column(name="sid",unique=true,nullable=false)publicIntegergetSid(){returnthis.sid;}publicvoidsetSid(Integersid){this.sid=sid;}@ManyToOne(fetch=FetchType.LAZY)@JoinColumn(name="u_id")publicUsergetUser(){returnthis.user;}publicvoidsetUser(Useruser){this.user=user;}@Column(name="name",length=12)publicStringgetName(){returnthis.name;}publicvoidsetName(Stringname){this.name=name;}}
解决方案三:
差不多就是LS的了,有一点可以说明一下@ManyToOne(fetch=FetchType.LAZY)也可以不采用延迟加载
解决方案四:
有没有一种工具可以直接通过表生成上面的jpa啊