hibernate中的session指的是啥?可否将单个的session在多个线程间进行共享

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate中的session指的是啥?可否将单个的session在多个线程间进行共享相关的知识,希望对你有一定的参考价值。

Session代表着Hibernate所做的一小部分工作,它负责维护者同数据库的链接而且 不是线程安全的,也就是说,Hibernage中的Session不能在多个线程间进行共享。虽然Session会以主动滞后的方式获得数据库连接,但是Session最好还是在用完之后立即将其关闭。 参考技术A 不可以,一个线程一个session

GraphQL 错误中的“位置”指的是啥?

【中文标题】GraphQL 错误中的“位置”指的是啥?【英文标题】:What does 'locations' refer to in GraphQL errors?GraphQL 错误中的“位置”指的是什么? 【发布时间】:2019-07-28 13:13:41 【问题描述】:

我正在学习 GraphQL 节点/Prisma 服务器教程,但由于我的代码有问题而遇到错误。我已经解决了错误,但我想了解错误消息,特别是locations 指的是什么?也就是说,我有一个第 2 行第 3 列的location,但是第 2 行第 3 列是什么?我的代码中的相关方法(signup,在这种情况下)?我的突变?

// error message 

  "data": 
    "signup": null
  ,
  "errors": [
    
      "message": "secretOrPrivateKey must have a value",
      "locations": [
        
          "line": 2,
          "column": 3
        
      ],
      "path": [
        "signup"
      ]
    
  ]

【问题讨论】:

【参考方案1】:

就像path 一样,locations 指的是您的 GraphQL 文档中发生错误的位置。您可以使用SWAPI GraphQL endpoint 之类的东西自己查看。我们可以通过请求一个不存在的字段来触发验证错误:


  allFilmz

产生的错误有这个locations数组:

[
  
    "line": 2,
    "column": 3
  
]

这是因为违规字段位于第 2 行,从第 3 列开始。如果我们改为发送:

allFilmz

我们得到:

[
  
    "line": 1,
    "column": 2
  
]

通常,错误的path 将比locations 提供更多信息,但当您的文档中存在语法错误时,path 将不存在——在这些情况下,locations 是唯一可以用来追踪语法错误发生位置的方法。

如果使用 GraphQL Playground,请注意 - 与 GraphiQL 不同,Playground 会在发送请求之前去除 cmets 并格式化您的请求,因此 locations 可能与您在 Playground UI 中看到的不匹配。

【讨论】:

以上是关于hibernate中的session指的是啥?可否将单个的session在多个线程间进行共享的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 中的 transaction.commit() 是啥?

hibernate是啥?

(N)Hibernate 中的一级和二级缓存是啥?

hibernate对象的三种状态是啥?

GraphQL 错误中的“位置”指的是啥?

session 的语句怎么写?还有session的作用是啥?