- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读到了 getOne()
延迟加载和 findOne()
立即获取整个实体。我检查了调试日志,我什至在我的 sql 服务器上启用了监控以查看执行了哪些语句,我发现 getOne()
和 findOne()
生成并执行相同的查询。但是当我使用 getOne()
这些值最初为空(当然除了 id)。
那么谁能告诉我,如果这两种方法都在数据库上执行相同的查询,为什么我应该使用一种而不是另一种?我基本上是在寻找一种方法来获取一个实体,而无需获取其所有子项/属性。
编辑 1:
Entity code
道号:
@Repository
public interface FlightDao extends JpaRepository<Flight, Long> {
}
getOne()
获取的实体的任何属性将执行完整查询。就我而言,我在调试时检查行为,一次移动一行,我完全忘记了在调试 IDE 时尝试访问对象属性以进行调试(或者至少我认为这是正在发生的),因此调试触发完整的查询执行。我停止调试,然后检查日志,一切似乎都正常。
getOne()
对比
findOne()
(此日志取自 MySQL
general_log
而不是 hibernate 状态。
最佳答案
这只是一个猜测,但在“纯 JPA”中,有一个名为 的 EntityManager 方法。获取引用 .它旨在检索其中只有 ID 的实体。它的用途主要是指示存在引用,而无需检索整个实体。也许代码会告诉更多:
// em is EntityManager
Department dept = em.getReference(Department.class, 30); // Gets only entity with ID property, rest is null
Employee emp = new Employee();
emp.setId(53);
emp.setName("Peter");
emp.setDepartment(dept);
dept.getEmployees().add(emp);
em.persist(emp);
关于spring - CrudRepository findOne() 和 JpaRepository getOne() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33218762/
我正在尝试模仿这个已接受的 SO 答案 https://stackoverflow.com/a/39746931/3214777在仅更新某些对象的字段时使用 Hibernate 代理。 我的代码看起来
在我的网络应用程序中,在服务布局中,我使用“餐厅”实体的代理(“餐厅”字段上的 FetchType.Lazy)。 User user = userRepository.get(userId);
我想知道什么 PDO 函数等于 db::getOne?我有这个我需要更改为 PDO: $count = db::getOne($query,$id,$showU['id']); 最佳答案 $st =
我读到了 getOne()延迟加载和 findOne()立即获取整个实体。我检查了调试日志,我什至在我的 sql 服务器上启用了监控以查看执行了哪些语句,我发现 getOne()和 findOne()
我正在将 Spring Boot 与 JpaRepository 结合使用。我有一个用字符串 PK 定义的表。 CREATE TABLE mytable ( uuid uuid DEFAULT
我阅读了类似的主题,但没有找到我的案例 我有一个简单的模型 User 和模型 UserAddress 与 userId 属性 然后我创建简单的关联 User.hasMany(UserAddress,
我想连接两个表并删除连接查询中的 on 子句以设置新的自定义 on 子句,但是我总是从“joinb”获得空谓词,因此无法与更多条件连接。我的代码如下。 CriteriaBuilder cb = ent
我正在处理一个奇怪的问题,我正在做集成测试,调用我的 Controller 从数据库中获取一个不存在的对象。 public Optional get(Long id) { try { re
我有一个用例,它调用以下内容: @Override @Transactional(propagation=Propagation.REQUIRES_NEW) public UserControl ge
我今天开始在 PhpStorm 上使用 PHPUnit 测试。我可以测试几乎所有的功能,除了需要连接数据库的功能。 功能: public function getProductID() {
我今天开始在 PhpStorm 上使用 PHPUnit 测试。我可以测试几乎所有的功能,除了需要连接数据库的功能。 功能: public function getProductID() {
我有一个用例,它调用以下内容: @Override @Transactional(propagation=Propagation.REQUIRES_NEW) public UserControl ge
我有一个调用以下内容的用例: @Override @Transactional(propagation=Propagation.REQUIRES_NEW) public UserControl get
我使用 spring data jpa,这是我的示例: public interface UserRepository extends JpaRepository { User findByU
我正在开发 spring boot 项目,刚刚升级到 spring boot 2.0.3.RELEASE 版本。 升级后,我遇到以下问题 org.springframework.data.mappin
我是一名优秀的程序员,十分优秀!