use*_*174 4 java google-app-engine jpa
我正在向Google App Engine部署一个简单的Java应用程序.
我有一个简单的JPA实体,其中包含一个Key作为我生成的ID.
import javax.persistence.*;
@Entity
public class MyEntity
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private com.google.appengine.api.datastore.Key key;
...
Run Code Online (Sandbox Code Playgroud)
一旦我坚持这个对象.我可以像这样查看密钥的ID ...
long id = entity.getKey().getId();
Run Code Online (Sandbox Code Playgroud)
你知道我怎么能使用相同的Id来恢复我的实体吗?像这样......
Query query = em.createQuery("SELECT e FROM MyEntity e WHERE e.key.id = :myId");
query.setParameter("myId", id);
Run Code Online (Sandbox Code Playgroud)
以上不起作用.我知道我可以通过传递Key作为参数来获取它,但我想知道我是否可以使用long id.
use*_*174 11
找到解决方案,使用KeyFactory创建一个Key并传入ID.然后查询密钥.
Key key = KeyFactory.createKey(MyEntity.class.getSimpleName(), id);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6435 次 |
| 最近记录: |