小编dwa*_*ohn的帖子

如何从Hibernate会话中删除不需要的实体?

我试图Entity1通过查询映射的实体来获取它.我正在使用CriteriaBuilder如下所示执行此操作

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Entity1> createQuery = criteriaBuilder.createQuery(Entity1.class);
Root<Entity1> root = createQuery.from(Entity1.class);
Join<Entity1, MappedEntity2> mappedEntity2Join = root.join("mappedEntity2");
createQuery.select(root);

predicate = criteriaBuilder.and(predicate, criteriaBuilder.equal(root.get(COL_USER_ID), userId));

// where clause to filter by query params
createQuery.where(predicate).distinct(true);
createQuery.getRestriction();

TypedQuery<Entity1> query = entityManager.createQuery(createQuery);
Run Code Online (Sandbox Code Playgroud)

但在随机的情况下,我发现查询是在"Entity2.entities1"上执行的,而没有在join中指定Entity2.我的猜测是Entity2已经在会话中可用,并且它使用entities1进行了懒惰的初始化.因此,Criteria会为Entity2而不是Entity1生成查询.

有没有办法限制条件查询Entity1?或者如何在执行此特定条件之前从会话中删除Entity2.

预期查询,

select * 
from Entity1 obj1_ 
inner join mappedEntity1 mObj_ on obj1_.obj_id=mObj_.id 
where obj1_.id=?
Run Code Online (Sandbox Code Playgroud)

但查询生成为,

select * 
from entities1_entities2 obj0_ 
inner join Entity1 obj1_ on obj0_.obj_id=obj1_.id 
where obj0_.entity2_id=?
Run Code Online (Sandbox Code Playgroud)

实体结构:

public class Entity1 {

    @ManyToOne
    MappedEntity1 mappedEntity1; …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa lazy-initialization

12
推荐指数
1
解决办法
423
查看次数

如何使用 instagram graph api 获取用户电子邮件和全名

我正在使用消费者 Facebook 开发者帐户。我需要从以下端点获取用户媒体信息。特别需要获取用户全名、邮箱和头像url

要求:

https://graph.instagram.com/{user-id}?fields=id,username,account_type,media_count&access_token=xxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

回复:

{
  id: "3454354543543345",
  username: "test",
  account_type: "PERSONAL",
  media_count: 22
}
Run Code Online (Sandbox Code Playgroud)

引用自文档:getting-profile-info user-fields

instagram-graph-api

6
推荐指数
1
解决办法
975
查看次数

如何在Azure Databricks群集上登录SSH

我使用以下ubuntu命令来访问SSH登录,因为,

ssh user @ hostname_or_IP

  • 能够看到主节点主机名
  • 但无法从Azure Databricks群集中获取用户名

请参阅此文档, https://docs.azuredatabricks.net/user-guide/clusters/spark-config.html#spark-config

azure apache-spark databricks

5
推荐指数
1
解决办法
2315
查看次数

用于在 Google Cloud Platform 中运行 GPU 工作负载的机器实例

我正在尝试运行 Elasticsearch BERT 应用程序,并想了解使用 GPU 微调模型的最低配置。我应该使用什么机器配置?

参考github:Fast-Bert

nlp google-cloud-platform pytorch tensorflow2.0

5
推荐指数
1
解决办法
328
查看次数

使用带有转义字符的熊猫将 csv 转换为 tsv

我有一个示例 csv 文件包含

col1
"hello \n
world"
"the quick \njump
\n \r \t brown fox"
Run Code Online (Sandbox Code Playgroud)

示例代码转换为 tsv

import pandas as pd
df = read_csv(r'a.csv')

df.to_csv('data.tsv', sep='\t', encoding='utf-8', escapechar='\n')
Run Code Online (Sandbox Code Playgroud)

期待的结果是

col1
"hello \n world"
"the quick \njump \n \r \t brown fox"
Run Code Online (Sandbox Code Playgroud)

但结果是

col1
"hello \n
world"
"the quick \njump
\n \r \t brown fox"
Run Code Online (Sandbox Code Playgroud)

python csv pandas

5
推荐指数
1
解决办法
895
查看次数

Spring Data 2.0 中的 findById() 和 existsById() 有什么区别?

Spring Data 2.0 JpaRepository:findById()和之间的区别existsById()

  • 我们使用哪种场景findById()existsById()方法?

java spring spring-data

0
推荐指数
2
解决办法
6320
查看次数