小编Joh*_*nak的帖子

金融应用中的事务隔离级别

我正在阅读有关事务隔离级别(可序列化、可重复读、已提交读、未提交读)的信息,并且对它们各自的用途感到有些困惑。我是否理解正确,例如在银行应用程序(汇款等)中使用的隔离级别可能是可序列化的,因为不允许放宽此规则?

java database hibernate jpa transactions

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

JPA,继承和instanceof

我将JPA继承与JOIN策略(JPA2 / Hibernate)结合使用。我有一个具有共享字段(日期,时间,地点等)的抽象常规事件实体,以及它的子对象,例如OutdoorEvent,ClassicalMusicEvent等,每种类型都有特定的字段。我搜索所有事件,得到一个List<Event>显示的事件。但是,每种事件类型的处理都不同,因此我需要弄清楚每种Event对象的事件类型。现在是问题所在。我想出了两种解决方案。首先,instanceof关键字:

if (event instanceof OutdoorEvent) {
   ...
} else if (event instanceof OtherKindOfEvent) {
   ...
} etc.
Run Code Online (Sandbox Code Playgroud)

其次,我将一个临时枚举字段添加到Event实体,并在每个子类型的构造函数中设置此字段。然后我可以做:

if (event.getType() == EventType.OutdoorEvent) {
   ...
} else if (event.getType() == EventType.OtherKindOfEvent) {
   ...
} etc.
Run Code Online (Sandbox Code Playgroud)

哪种解决方案更好,或者是更多的OOP?还有其他解决方案吗?

java oop hibernate jpa

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

如何使用两个矩阵计算余弦相似度

我有两个矩阵,A(维度M x N)和B(N x P).实际上,它们是矢量的集合-以行向量,列向量中B.我想获得对于每对余弦相似性得分ab,其中a是从矩阵A的向量(行)和b从矩阵的向量(列) B.

我已经开始乘以矩阵,这导致矩阵C(维数M x P).

C = A*B.

然而,为了获得余弦相似性得分,我需要将每个值除以C(i,j)两个相应矢量的范数.你能在Matlab中建议最简单的方法吗?

matlab matrix cosine-similarity

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

如果在外部或在parfor内访问,矢量值会有所不同

我已经创建了这个测试Matlab脚本文件:

numbers = [29 37 44 54 62];

for i=1:length(numbers)
    fprintf('%d\n', numbers(i));
end

fprintf('***\n');

matlabpool local 5;
parfor i=1:length(numbers)
    fprintf('%d\n', numbers(i));
end % image loop
fprintf('***\n')
for i=1:length(numbers)
    fprintf('%d\n', numbers(i));
end
matlabpool close;

fprintf('***\n');

for i=1:length(numbers)
    fprintf('%d\n', numbers(i));
end
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下输出:

29
37
44
54
62
***
112
111
107
117
115
***
29
37
44
54
62
***
29
37
44
54
62
Run Code Online (Sandbox Code Playgroud)

fprintf该内parfor块打印的看似随机组数字中的哪一个,但是,总是相同的(112,111,107,117,115).知道为什么会这样吗?

UPDATE

有趣的是,只有从命令行运行脚本才会发生这种情况:

matlabR2012b -nodesktop -nosplash -nodisplay -r "run parfortest.m; exit"
Run Code Online (Sandbox Code Playgroud)

如果我首先打开一个Matlab会话并在parfortest …

parallel-processing matlab parfor

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

使用 cron 作业推送到 GitHub -- 权限被拒绝(公钥)

我已经创建了一个 SSH 密钥(按照官方教程),将它添加到 GitHub 并创建了一个 Bash 脚本,该脚本提交并将单个文件推送到我在 Github 上的存储库。当我从命令行运行这个脚本时,一切正常并且更新被推送。但是,当我使用 设置作业时crontab -e,推送会生成以下错误:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我已经编辑了用户的 crontab ( crontab -e),即我没有使用sudo crontab -e. 我正在运行 Ubuntu 12.04。

git ssh ubuntu cron

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

使用@Autowired将依赖项注入使用"new ..."创建的对象中

将bean注入helper类时遇到问题.它的工作原理基本上是这样的:我在页面构造函数中创建一个对象,它可以完成一些工作,返回一些数据并在页面上显示这些数据.在此辅助对象中,应通过@Autowired注释注入服务.但是,当我使用它时,我总是得到一个空指针异常.我也尝试了,@SpringBean但没有帮助.另一方面,当我将此服务直接注入页面时@SpringBean,它可以访问并且工作正常.你知道问题出在哪里吗?

这是页面:

public class Page extends BasePage {
    public Page() {
        HelperObject object = new HelperObject(new Application("APP_NAME"));
        String result = object.getData();

        add(new Label("label", result));
    }
}
Run Code Online (Sandbox Code Playgroud)

助手对象:

public class HelperObject {
    private Application app;

    @Autowired
    private Service service;

    public HelperObject(Application app) {
        this.app = app;
    }

    public String getData() {
        // use service, manipulate data, return a string
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring wicket dependency-injection autowired

4
推荐指数
1
解决办法
9459
查看次数

测试非空白字符串内容

我想测试一个句子是否包含除空白字符以外的任何内容.这是我目前使用的:

if len(teststring.split()) > 0:
    # contains something else than white space
else:
   # only white space
Run Code Online (Sandbox Code Playgroud)

这够好吗?有没有更好的方法呢?

python whitespace

4
推荐指数
2
解决办法
9419
查看次数

JPA - 在模型中使用注释

我的应用程序运行在JPA/Hibernate,Spring和Wicket上.我正在尝试将我们的ORM从XML文件转换为JPA注释.带注释的模型如下所示:

@Entity
@Table(name = "APP_USER")
public class User extends BaseObject {
    private Long id;
    private String firstName;
    private String lastName;
    private String email;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(name = "ID")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name="FIRST_NAME")
    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    @Column(name="LAST_NAME")
    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    } …
Run Code Online (Sandbox Code Playgroud)

java annotations hibernate jpa

3
推荐指数
1
解决办法
2755
查看次数

EntityManager注入 - NullPointerException

在我的Spring + JPA/Hibernate + Wicket应用程序中,我有一个QueryBuilder bean,我想在我的一个DAO中使用它,它在Criteria API的帮助下生成一个类型查询:

@Service(value="inboxQueryBuilder")
public class InboxQueryBuilder {

    @PersistenceContext
    EntityManager em;

    CriteriaBuilder cb;

    public InboxQueryBuilder() {
        cb = em.getCriteriaBuilder();
    }

    public TypedQuery<App> getQueryForApps(AppSearchObject aso) {
           ...
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行应用程序时,我得到一个行的空指针异常:

cb = em.getCriteriaBuilder();
Run Code Online (Sandbox Code Playgroud)

即EntityManager不会被注入.你知道为什么吗?

此外,这是正确的和线程安全的,还是我应该为每个查询实例化我的InboxQueryBuilder?在这种情况下,我是否还应该注入EntityManager或者我应该将它作为构造函数参数传递(InboxQueryBuilder将为DAO中的每个查询实例化,其中有一个注入的EntityManager实例)?

java spring dao jpa criteria-api

3
推荐指数
1
解决办法
1万
查看次数

从文件中读取矩阵时禁止打印

我在两个文件中有两个大矩阵,A(21,000 x 80,000)和B(3,000 x 80,000)我想要乘以:

C = A*B_transposed

目前我有以下脚本:

A = dlmread('fileA')
B = dlmread('fileB')
C = A*(B')
dlmwrite('result', C)
exit
Run Code Online (Sandbox Code Playgroud)

但是,读取矩阵(前两行)需要很长时间,并且Matlab(在每个dlmread之后)继续打印这些矩阵.您知道如何禁用此打印并使流程更快吗?

matlab

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

Selenium测试后的数据库清理

在我使用Maven运行一堆Selenium(jUnit4)测试之后,我想做一个数据库清理(删除他们插入的东西等).这是在Tapestry/Spring/Hibernate上运行的旧项目和遗留数据库.我想用一个带@After注释的方法进行清理- 但注入DAO的/ Managers/SessionFactory不起作用.

测试是这样的:我mvn jetty:run-war在一个控制台中运行()应用程序,并在另一个控制台(mvn test)中启动测试- 它访问localhost:8080上的应用程序.

java selenium spring hibernate selenium-webdriver

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

名词短语的头部发现规则

Penn Treebank格式没有注释名词短语的内部结构,例如

(NP (JJ crude) (NN oil) (NNS prices))
Run Code Online (Sandbox Code Playgroud)

要么

(NP
    (NP (DT the) (JJ big) (JJ blue) (NN house))
    (SBAR
      (WHNP (WDT that))
      (S
        (VP (VBD was)
          (VP (VBN built)
            (PP (IN near)
              (NP (DT the) (NN river)))))))
Run Code Online (Sandbox Code Playgroud)

我想提取头(价格和房子).你知道任何可以做到这一点的工具吗?

parsing nlp

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