小编Tha*_*hla的帖子

Spring中与Hibernate的并发

我发现了很多关于这个主题的帖子,但所有答案都只是没有示例代码的文档链接,即如何在实践中使用并发.

我的情况:我有一个实体House(用于简化)两个属性,number(id)和owner.该数据库被初始化为10 Housesnumber1-10和owner永远null.

我想给房子分配一个新的所有者,目前没有所有者,而且是最小的number.我的代码看起来像这样:

@Transactional
void assignNewOwner(String newOwner) {
    //this is flagged as @Transactional too
    House tmp = houseDao.getHouseWithoutOwnerAndSmallestNumber();

    tmp.setOwner(newOwner);

    //this is flagged as @Transactional too
    houseDao.update(tmp);
}
Run Code Online (Sandbox Code Playgroud)

对于我的理解,虽然@Transactional被使用,同样House可以被两次分配给不同的业主,如果两个请求获取空一样Housetmp.我如何确保不会发生这种情况?

我知道,包括选择空的更新House会解决问题,但在不久的将来,我想更多地修改/使用tmp对象.

java spring hibernate

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

熊猫:将每列汇总到一个用逗号分隔的列表中,没有重复项

问题:

我有一个很大的CSV文件,看起来像这样:

A  B   C     D    ...
1  dog black NULL ...
1  dog white NULL ...
1  dog black NULL ...
2  cat red   NULL ...
...
Run Code Online (Sandbox Code Playgroud)

现在,我想对“分组依据”列进行分组,A并将其余各列聚合到一个用逗号分隔的列表中,而不重复。解决方案应如下所示:

A  B   C             D    ...
1  dog black, white  NULL ...
2  cat red           NULL ...
...
Run Code Online (Sandbox Code Playgroud)

由于CSV中的名称和列数可能会发生变化,因此我更喜欢没有硬编码名称的解决方案。

二手方法:

pandas使用以下代码尝试了该软件包:

import pandas as pd
data = pd.read_csv("C://input.csv", sep=';')
data = data.where((pd.notnull(data)), None)
data_group = data.groupby(['A']).agg(lambda x: set(x))
data_group.to_csv("C://result.csv", sep=';')
Run Code Online (Sandbox Code Playgroud)

set运营商不正是我想要的。但是,生成的CSV如下所示:

A  B       C                   D      ... …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

2
推荐指数
1
解决办法
1420
查看次数

PL/SQL:在单个查询中选择多个变量

在 oracle 包的初始化部分,我尝试确定具有给定名称的某些对象的当前 ID。原因:该包用于多个数据库,这些对象的 ID 可能会有所不同,但它们的名称是不变的。

代码如下所示:

SELECT id INTO varCat FROM myTable WHERE Type = 'Object' AND Name = 'Cat';
SELECT id INTO varDog FROM myTable WHERE Type = 'Object' AND Name = 'Dog';
...
SELECT id INTO varMouse FROM myTable WHERE Type = 'Object' AND Name = 'Mouse';
Run Code Online (Sandbox Code Playgroud)

有没有办法优化查询,也许可以在单个查询中完成?

oracle plsql

0
推荐指数
1
解决办法
8273
查看次数

标签 统计

hibernate ×1

java ×1

oracle ×1

pandas ×1

plsql ×1

python ×1

python-3.x ×1

spring ×1