小编bti*_*sae的帖子

spring 启动数据 @query 到 DTO

我想将查询结果分配给 DTO 对象。DTO 看起来像这样:

@Getter
@Setter
@NoArgsConstructor
public class Metric {
    private int share;
    private int shareholder;

    public Metric(int share, int shareholder) {
        this.share = share;
        this.shareholder = shareholder;
    }
            
}
Run Code Online (Sandbox Code Playgroud)

查询如下所示:

@RepositoryRestResource(collectionResourceRel = "shareholders", path = "shareholders")
public interface ShareholderRepository extends PagingAndSortingRepository<Shareholder, Integer> {
    @Query(value = "SELECT new com.company.shareholders.sh.Metric(SUM(s.no_of_shares),COUNT(*)) FROM shareholders s WHERE s.attend=true")
    Metric getMetrics();
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为我遇到了以下异常:

Caused by:org.hibernate.QueryException: could not resolve property: no_of_shares of:com.company.shareholders.sh.Shareholder[SELECT new com.company.shareholders.sh.Metric(SUM(s.no_of_shares),COUNT(*)) FROM com.company.shareholders.sh.Shareholder s WHERE s.attend=true]
Run Code Online (Sandbox Code Playgroud)

dto jpql spring-data-jpa spring-boot

6
推荐指数
2
解决办法
2万
查看次数

XMPPError: bad-request - 修改错误使用 smack 库 4.1.8 和 openfire 创建新用户

我一直在使用 smack 客户端库 4.1.8 和 xmpp 服务器(openfire 服务器)开发聊天应用程序,但是在尝试使用 Accountmanger 类创建新用户时,它引发了异常“XMPPError: bad-request - modify”

XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder()
                        .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
                        .setHost("127.0.0.1")
                        .setDebuggerEnabled(true)
                        .setPort(5222)
                        .setSendPresence(true)
                        .setServiceName("127.0.0.1")
                        .build();

                AbstractXMPPConnection conn2 = new XMPPTCPConnection(conf);

                //conn2.login();
                conn2.connect();

                AccountManager accountManager = AccountManager.getInstance(conn2);
                if (accountManager.supportsAccountCreation()) {
                    accountManager.sensitiveOperationOverInsecureConnection(true);
                    accountManager.createAccount("qidus", "123456");
                    conn2.login("qidus", "123456");

                }

            } catch (SmackException | IOException | XMPPException e) {
                e.printStackTrace();
            }
Run Code Online (Sandbox Code Playgroud)

例外是这个

04:01:41 AM SENT (0): <iq to='127.0.0.1' id='aYej1-3' type='get'><query xmlns='jabber:iq:register'></query></iq>
Run Code Online (Sandbox Code Playgroud)

04:01:41 AM RECV (0):

org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: bad-request - modify
at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:135)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:232)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:213) …
Run Code Online (Sandbox Code Playgroud)

java xmpp openfire smack

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

开玩笑地测试多个测试文件端口3000已在使用中

我正在为我的Express应用创建测试。该项目有多个测试文件。在每个模块中,需要在beforeEach()方法中使用服务器实例,并在afterEach()方法中关闭服务器实例。但是在测试了其中一个或两个模块之后,它将提高已经使用的地址,并且玩笑不会终止。

beforeEach(() =>  {

    server = require('./../../../bin/www')});
afterEach(async() => { 
    server.close();
    /**
     * database cleanup logic goes here.
     */

 });
Run Code Online (Sandbox Code Playgroud)

我想在所有测试套件完成后终止玩笑。

mongoose node.js express supertest jestjs

3
推荐指数
4
解决办法
758
查看次数