JPA getSingleResult() 或 null

2023-11-25

我有一个insertOrUpdate方法插入一个Entity当它不存在时或更新它(如果存在)。为了实现这一点,我必须findByIdAndForeignKey,如果它返回null如果没有则插入,然后更新。问题是如何检查它是否存在?所以我尝试了getSingleResult。但如果

public Profile findByUserNameAndPropertyName(String userName, String propertyName) {
    String namedQuery = Profile.class.getSimpleName() + ".findByUserNameAndPropertyName";
    Query query = entityManager.createNamedQuery(namedQuery);
    query.setParameter("name", userName);
    query.setParameter("propName", propertyName);
    Object result = query.getSingleResult();
    if (result == null) return null;
    return (Profile) result;
}

but getSingleResult抛出一个Exception.

Thanks


抛出异常是怎样的getSingleResult()表示找不到。我个人无法忍受这种API。它强制进行虚假异常处理,但没有任何实际好处。您只需将代码包装在 try-catch 块中即可。

或者,您可以查询列表并查看其是否为空。这不会引发异常。实际上,由于您在技术上没有进行主键查找,因此可能会有多个结果(即使一个、两个或外键或约束的组合在实践中使这不可能),所以这可能是更合适的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JPA getSingleResult() 或 null 的相关文章

  • 使用多个窗口通过 Eclipse 进行调试

    我通常运行双显示器设置 因此我为同一工作区打开两个 Eclipse 窗口 显示不同的文件 当我调试并命中断点时 Eclipse 会切换到 调试 透视图 但它还会在我的两个窗口中显示断点所在的文件 行 即使包含断点的文件在一个窗口中打开 但在
  • 为什么java中的BigInteger被设计成不可变的?

    在 java 中 BigInteger 是不可变的 但我想了解为什么 因为很多时候它用于进行大量计算 从而产生大量对象 所以 不让它变得不可变感觉有点直观 我想到的情况类似于字符串操作 然后是 StringBuilder 的选项 是否应该有
  • JTextPane 的样式是否具有类似控制台的格式?

    有没有办法使 JTextPane 中的文本看起来与控制台输出的文本相似 我的意思是 基本上 每个字符如何具有相同的宽度 以便 ASCII 艺术或间距缩进之类的东西可以正常工作 例如 目前 如果我输入 First 然后输入 5 个空格 然后在
  • Spring:url 无法正确解析链接

    尽管我对 Java 有丰富的经验 但我对 Spring 框架和 Web 应用程序还很陌生 当我在本地 tomcat 服务器上运行我的网站时 URL 为 http localhost 8080 myApp 现在 请求映射将我委托到我的主页 R
  • 如何确定用户是否发送了由Java代码构建的MS Outlook消息?

    在我的程序中 我创建 Outlook exe 进程并发送包含预填充内容的消息 发送消息或关闭消息窗口后 我需要知道用户是否发送消息 exitValue process 方法没有帮助 因为两种情况下的 exitValue 都是 0 Proce
  • 理解 Spring AOP [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 Spring 3 0 框架 但仍然是新手 谁能通俗地解释一下什么是AOP编程 一个简短的例子肯定会有帮助 Spring 如
  • 在 Java Servlet 应用程序中设置 HTTP 201 响应的 Location 标头的正确方法是什么

    考虑以下代码向客户端发送 HTTP 201 已创建 响应 String url app things id 42 example response setStatus HttpServletResponse SC CREATED respo
  • 如何解决 javax.net.ssl.SSLHandshakeException 错误?

    我通过 VPN 连接来设置库存 API 来获取产品列表 效果很好 一旦我从网络服务获得结果并绑定到用户界面 而且我将 PayPal 与我的应用程序集成在一起 以便在我拨打电话付款时进行快速结帐 但我遇到了此错误 我使用 servlet 进行
  • JavaFX 多线程 - 连接线程不会更新 UI

    我正在尝试创建一个加载程序对话框 用户可以在其中知道程序正在加载所请求的内容并且程序正在按预期运行 但正因为如此 我需要join 解析器线程和之前继续主线程 这使得对话框空白 解析器任务 java public class ParserTa
  • R:连接到 Teradata 时 JDBC() 找不到 Java 驱动程序路径

    我正在尝试通过 RStudio 连接到 Teradata 但由于某种原因 JDBC 函数在识别 Java 驱动程序所在的路径时出现问题 请参阅下面的代码 library RODBC library RJDBC library rJava b
  • 如何统计List中某个元素出现的次数

    我有一个ArrayList Java的Collection类 如下 ArrayList
  • new Date() 和日历日期之间的区别

    在实践中 下面两个日期有什么区别 Date date new Date Date date Calendar getInstance getTime 我的理解是 new Date 是基于 UTC GMT 的日期 而日历的 getTime 基
  • Apache James 学习资源 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 该计划是创建一个列表阿帕奇 詹姆斯 http james apache org学习资源 涉及从设置到使用
  • Java KeyListener:按下两个键时如何执行操作?

    请看下面的代码 import java awt event import javax swing import java awt public class KeyCheck extends JFrame private JButton ch
  • 使用 Spring Java 配置自动装配 bean

    是否可以使用Spring的 Autowired用 Java 编写的 Spring 配置中的注释 例如 Configuration public class SpringConfiguration Autowired DataSource d
  • 从多个文本文件读取数据[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是Java编程新手 我正在尝试打印
  • 如何在android中动态创建按钮?

    我想创建一个这样的页面 这 7 个按钮已经存在 但如果用户想添加更多类别 按钮 那么他可以使用 按钮并使用删除 按钮 有制作这个的想法或教程吗 创建 删除按钮onClick of button and button如下 public voi
  • 为数组生成随机索引

    我知道对于普通整数来说这是这样 但是有索引这样的东西吗 Random dice new Random int n dice nextInt 6 System out println n 你是什 么意思 数组索引是普通数字 所以你可以轻松地做
  • Selenium WebDriver (java) 可以与浏览器的检查工具元素选择器交互吗?

    通过使用 selenium 我可以访问位于检查选项卡中的浏览器元素选择器 在浏览器中按 Ctrl Shift C 吗 我想使用该选择器 指向 一个元素 并使其在浏览器中突出显示 例如 简单的事情如下 WebElement elem driv
  • web.xml 过滤器如何工作?您可以将两个过滤器映射到所有页面 (/*) 并指定顺序吗?

    我想使用 Spring Security 它说将过滤器映射到 但我已经有一个映射到 的过滤器 即 Tuckee URLRewrite 过滤器 是否可以将两个过滤器映射到同一事物 并且有没有办法指定过滤器的调用顺序 是的你可以 servlet

随机推荐

  • 两个 ddev 项目之间的通信

    我有两个需要相互交互的 ddev 项目 当遇到一些问题时 我会检查连接的已解析 IP 我通过 ssh 进入 project1 并 ping project2 来完成此操作 ping project2 ddev local 域名解析为 127
  • Spring security oauth 2简单示例

    我尝试根据官方教程实现我自己的示例Sparklr2 Tonr2 一切看起来都不错 但是当我从web xml in my Tonr2实现 弹簧安全过滤器我有例外 尚未为当前请求建立重定向 URI 我不明白我应该使用什么 URL 这是我的代码
  • 凹边界半径可以吗?

    这是一个简单的凸示例 http jsfiddle net swY5k test width 200px height 200px background 888888 border radius 50px 但是 我想要一个凹形边界半径 我尝试
  • jQuery .each css 不是一个函数

    我有一个包含 3 个成员的 jQuery 对象 var elements this wrapperName gt ul gt li gt a gt img Object 0 img 1 img 2 img length 3 prevObje
  • 如何将正则表达式转换为字符串文字并再次转换回来?

    我怎么能够 将带有标志的 JavaScript RegExp 转换为字符串文字 想想 JSON 并将该文字转换回正则表达式 例如使用字符串 the weather is nice today var myRe new RegExp weat
  • Android 位置管理器标准

    我需要从网络和 GPS 提供商处接收位置更改 如果 GPS 提供商不可用或没有位置 基于卫星可见性 我将从网络提供商处接收位置 否则从 GPS 提供商处接收位置 是否可以根据我的需要使用标准选择提供商 实际上Android 开发者 让您的应
  • 通过 URL 运行自动化脚本

    马克西莫 7 6 1 1 我想通过调用单独系统中的 URL 来运行 Maximo 自动化脚本 是否有可能做到这一点 这是一个很好的用例 也是我们过去几天一直在努力解决的问题 创建自动化脚本 我的叫做automation api test 使
  • 如何使用Akka-HTTP客户端websocket发送消息

    我正在按照以下文档尝试客户端 WebsocketwebSocket客户端流 示例代码是 import akka actor ActorSystem import akka Done import akka http scaladsl Htt
  • Spring Boot 安全身份验证 - 302 重定向

    我正在尝试测试使用标准 Spring Security API 保护的 Web api 我通过实现 UserDetailService 实现了自己的用户身份验证服务 然而 每当我登录到我的应用程序时 login api 都会返回 302 重
  • Mp4 视频无法在 iPad 中播放

    美好的一天 我一直在致力于这个项目并学习如何在 iPad 和所有其他浏览器上放置视频 但在为此编写代码后 我注意到我从 iPad 获得的唯一信息是视频的第一个关键帧 但视频没有播放 当我按下 iPad 屏幕上出现的 播放 按钮时 视频不会播
  • 如何使用简单注入器、存储库和上下文 - 代码优先

    我正在尝试使用 Simple Injector 创建我的存储库并在业务逻辑层中使用它 我也想使用 PerWebRequest 方法 在 DAL 层我有 public interface IRepository
  • Laravel 5. 调试模式

    我将调试模式设置为true在 config gt app 中并将其部署到服务器上 debug gt env APP DEBUG true 我在控制器中有以下代码来检查模式 debug config app debug var dump de
  • Android 媒体录制:java.lang.RuntimeException:启动失败

    我正在处理电话录音 当我开始录制电话时 不幸的是它停止了 它给出了错误MediaRecorder启动失败 2147483648 我参考这个答案link 但我不明白 请告诉我我的代码有什么问题 这是我的代码 public class Inco
  • git `merge --squash` 不会添加“合并”标头来提交

    我想知道所有工具如何知道合并哪些分支 提交 直到我在提交中找到 合并 标头 我的问题是 为什么git merge squash不添加该标头 同时git merge does 换句话说 为什么我在合并时看到合并边缘git merge虽然没有边
  • 反连接比左外连接更有效吗?

    评论于这个答案注意到反连接可能已经过优化 比 Oracle 中的外连接更有效 我很想知道什么解释 证据可能支持或反驳这一说法 当您在 SQL 查询中使用 不存在 或 不在 时 您可以让 Oracle 选择合并反连接或散列反连接访问路径 快速
  • 避免应用程序请求对话框中出现错误 100:无效参数(需要有效的重定向 URI)

    我正在为 Facebook 开发一款游戏 我需要一种让用户邀请其他人加入游戏的方法 为此 我使用应用请求对话框 我将用户重定向到对话框 URL 将其粘合在一起 如下所示 url http www facebook com dialog ap
  • 可以在 vi 上映射 shift + shift 吗?

    我正在尝试使用 shift shift 配置键映射 这可能吗 我努力了
  • MFMailComposeViewController 不解雇

    我有在 didSelectRowAtIndexPath 中调用的以下代码 问题是 当我点击取消按钮时 它提示保存草稿或放弃 但是当我单击其中任何一个时 视图都不会消失 我在 iOS 5 之前的应用程序中使用了相同的代码 并且效果很好 有任何
  • jQuery.ajax 中是否弃用 success 参数?

    今天我听说 jQuery ajax 函数中的 success Parameter 已被弃用 我理解正确吗 或者我误解了什么 例如 这在将来将不起作用 ajax url ax comment php type POST data mode v
  • JPA getSingleResult() 或 null

    我有一个insertOrUpdate方法插入一个Entity当它不存在时或更新它 如果存在 为了实现这一点 我必须findByIdAndForeignKey 如果它返回null如果没有则插入 然后更新 问题是如何检查它是否存在 所以我尝试了