草庐IT

OneToMany

全部标签

performance - JPA+Hibernate(J2SE) @OneToMany - 数百万条记录减慢了添加新对象的速度

我在J2SE项目中使用JPA+Hibernate和PostGreSQL数据库。我有2个实体A和B。A与B具有@OneToMany关系。在我的域模型中,A可能引用数百万个B。当我将新对象添加到集合中时,需要几分钟才能完成。@OneToMany(cascade=CascadeType.PERSIST)Collectionfoo=newArrayList();//mightcontainmillionsofrecords//...//thistakesalotoftimefoo.add(newB());我认为JPA在插入新对象之前获取整个集合。是否可以配置关系,以便通过向集合添加新对象时不执

java - JPA 2.0 hibernate @OneToMany + @MapKeyJoinColumn

OneToMany+MapKeyJoinColumn对我不起作用,请提出我做错了什么。我正在使用JPA2.0+Hibernate3.6.1并想映射下表:上课:@EntitypublicclassQuestion{//idandotherfields@OneToMany(mappedBy="question",cascade=CascadeType.ALL)@MapKeyJoinColumn(name="language_id")privateMapstatements=newHashMap();}@EntitypublicclassStatement{@IdprivateLongid;

java - JPA OneToMany映射异常: Field XXX cannot declare that it is mapped by another field

在我的项目中,我在下面报告了类,它们具有双向关系映射。当我尝试通过JPA读取DataProviderImpl类型的对象时,出现以下异常:org.apache.openjpa.persistence.ArgumentException:Field"persistence.entity.DataProviderImpl.methods"cannotdeclarethatitismappedbyanotherfield.Itsmappingstrategy(org.apache.openjpa.jdbc.meta.strats.HandlerCollectionTableFieldStrat

java - Hibernate 如何在@OneToMany 映射中找到集合的泛型类型?

给定一个简单的实体关系:@EntitypublicclassSingle{@OneToManypublicSetmultiples;}Hibernate如何发现倍数的泛型类型是Multiple?使用标准反射API无法找到此信息。我正在查看源代码,但真的不知道从哪里开始。 最佳答案 但是可以使用反射API找出答案。看看Field.getGenericType():Typetype=field.getGenericType();if(typeinstanceofParameterizedType){Type[]genericArgume

java - hibernate 映射 : OneToMany and OneToOne on child object property

这是父类Enterprise。它有雇主,其中一位是企业总裁。@EntityclassEnterprise{//fields@OneToManypublicListgetEmployers()//implementation@OneToOnepublicEmployeegetPresident()//implementation}这是子Employee类。它只有关于他工作的Enterprise的信息。但问题是我应该使用什么关联?@EntityclassEmployee{//fields//whatassociationshouldIuse?publicEnterprisegetEnter

java - JPA 如何为 @OneToMany 关系的列添加唯一约束,如用户名

我有一个代表网站的Site类和一个User类。一个Site可以有多个User。classSite{privateintsite_ID;@OneToMany//withajointableprivateListusers;//...}classUser{privateintuser_ID;privateStringname;privateStringlastname;privateStringusername;privateStringpassword;}我想允许相同的用户名存在于所有站点上,但每个站点只能存在一个。Site/User/username1/1/username11/2/u

java - 当通过 gwt 将注释与 gilead 一起用于 hibernate 时,我遇到了 oneToMany 关联错误

我正在使用Gilead将我的实体保存在我的GWT项目中,我也在使用hibernate注释。我的问题出在我的onetomany关联上。这是我的用户类,它包含对FileLocations列表的引用@Entity@Table(name="yf_user_table")publicclassYFUserimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="user_id",nullable=false)privateintuserId;@Column(name="username

java - Spring Boot JPA - OneToMany 关系导致无限循环

我有两个具有简单@OneToMany关系的对象,如下所示:parent:@EntitypublicclassParentAccount{@Id@GeneratedValueprivatelongid;privateStringname;@OneToMany(fetch=FetchType.EAGER,mappedBy="parentAccount")privateSetlinkedAccounts;}child:@EntitypublicclassLinkedAccount{@Id@GeneratedValueprivatelongid;@ManyToOne(optional=fals

java - Spring Data Rest JPA - 无法延迟加载 OneToMany 双向关系

我有两个实体,Company和Job,具有OneToMany双向关系。我的问题是我不能延迟加载公司的Listjobs.例如当我这样做时:获取/api/companies/1这是JSON响应:{"id":1,"name":"foo",..."_embedded":{"jobs":[{...},...{...}],"employees":[{...},{...}]},"_links":{"self":{"href":"http://localhost:8080/api/companies/1"},"jobs":{"href":"http://localhost:8080/api/compa

java - @OneToMany 与@JoinTable 错误

我正在尝试用**@JoinTable**来理解**@OneToMany**我正在使用JPA2.1、Hibernate5.0.4和Oracle11XE。当我调用userDao.save(user)(下面的代码)时,我得到了java.sql.SQLIntegrityConstraintViolationException:ORA-00001:uniqueconstraint(HIBERNATE.USER2ORDER_PK)violated我做错了什么?谁能帮我理解一下?数据链接:DROPTABLEHIBERNATE.T_USER2ORDERS;DROPTABLEHIBERNATE.T_OR