gpt4 book ai didi

java - 实体组、JPA 和每秒一次写入限制(应用程序引擎)

转载 作者:行者123 更新时间:2023-12-02 07:08:35 25 4
gpt4 key购买 nike

我有两个实体,,它们具有OneToMany关系。父类有一个子类的 @Owned 注解。没有关系回来。 (从 child 到 parent )

@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Owned
@OneToMany(fetch = FetchType.LAZY)
private Set<Child> children;

.........

}


@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key id;

public String value;

.........

public int hashCode() {
... based on this.value ...
}

public boolean equals(Object o) {
... based on this.value ...
}

}

问题 1:此设置是否类似于以 Parent 为祖先的实体组?以下两个语句确实返回相同的 Key:

- child.getId().qv.getId().getParent()
- KeyFactory.createKey("Parent", parent.getId())
<小时/>

问题 2:下面的代码应该花费大约十秒的时间来执行吗?它的运行时间约为 223 毫秒:

for(int i = 0; i < 10; i++) {
em.getTransaction().begin();

parent = em.find(Parent.class, parentId);

child = new Child("value" + i);
parent.addChild(child)

em.merge(parent)

em.getTransaction().commit();
}

我认为应该需要 10 秒的原因是 Google App Engine 文档中的以下声明:

"However, the rate at which you can write to the same entity group is limited to 1 write to the entity group per second."

https://developers.google.com/appengine/docs/java/gettingstarted/usingdatastore

谢谢

最佳答案

您是在本地开发服务器还是生产服务器上运行?本地开发服务器并没有完全模仿生产的性能特征。

该限制仅供引用。您可能会获得比突发更好的性能。但是,如果您尝试长时间的高写入,则会出现异常。

数据存储写入的性能限制不会减慢代码执行速度。当事务写入失败时,它们会抛出异常。确保您有一些异常处理程序来检查是否发生这种情况。

关于java - 实体组、JPA 和每秒一次写入限制(应用程序引擎),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15814528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com