小编jps*_*ack的帖子

JPA CriteriaQuery 包括 2 个子查询

我在使用 JPA 构建工作复杂 CriteriaQuery(包括两个子查询)时遇到问题。

在 SQL 中,查询将如下所示:

SELECT * FROM photos p WHERE ((p.userID = 1) AND ((p.privacy = 0) 
OR (p.privacy = 1 AND EXISTS (SELECT * FROM friendships fs WHERE ((fs.userID = p.userID AND fs.userID2 = 2) OR (fs.userID = 2 AND fs.userID2 = p.userID))))
OR (p.privacy = 2 AND EXISTS (SELECT * FROM photo_privacy_users ppu WHERE (ppu.photoID = p.photoID AND ppu.userID = 2)))
));
Run Code Online (Sandbox Code Playgroud)

澄清sql查询:
photos.privacy = 0表示PrivacyType.PUBLIC
photos.privacy = 1表示PrivacyType.PRIVATE
photos.privacy = 2表示PrivacyType.COSTUM

目前我收到以下错误:
org.hibernate.engine.jdbc.spi.SqlExceptionHelper - …

hibernate jpa join criteria-api metamodel

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

如果抛出异常,.Net Web API 有时根本不返回任何响应

首先介绍一下背景。
我在 Visual Studio 2017 社区中使用 .Net Framework 4.6.1、Microsoft.AspNet.WebApi 5.2.4。

我的 ApiController 的实现端点会抛出预期的异常,例如,如果未满足某些要求。我添加了全局 ExceptionFilterAttribute 和 ExceptionHandler 来处理这些异常并返回正确的响应。异常是继承自 System.Exception 的类型。
这只是偶尔按预期工作。每隔第二个或第三个或有时第五个(没有真正的模式)请求,api 服务器根本不返回任何响应,例如邮递员说:“无法得到任何响应”。
为了测试这一点,我使用了具有相同输入的相同端点。

为了更好地了解该问题,我做了以下一些事情:
我向 Global.asax 添加了异常日志记录(以捕获第一次机会异常)
我订阅了 Global.asax Application_Error 事件
我查看了 IIS 日志

这些都没有让我更接近这个问题。像预期的那样捕获并记录了 Global.asax 异常,但没有其他错误或异常可以为我的问题提供更多信息。

这是我的代码:
我简化了 ApiController 的功能并删除了业务逻辑。

[Route("test")]
[HttpGet]
public IHttpActionResult GetTest()
{
    throw new ObjectAlreadyExistsException("test");
    return ResponseFactory.CreateOkResponse(null);
}

public class ExceptionFilter : ExceptionFilterAttribute
{
    public override void OnException(HttpActionExecutedContext context)
    {
        if (context.Exception is ObjectAlreadyExistsException)
        {
            context.Response = ResponseFactory.CreateErrorResponseMessage(context.Exception.Message, new Error("OBJECT_ALREADY_EXISTS_ERROR", context.Exception.Message));
        }
        else if (context.Exception is …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-web-api

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

标签 统计

.net ×1

asp.net-web-api ×1

c# ×1

criteria-api ×1

hibernate ×1

join ×1

jpa ×1

metamodel ×1