如何在spring data jpa中执行本机查询,同时获取子实体?如果在子实体对象上有Eagy FetchType,则spring data将执行2个查询。1为父实体,1为子实体。
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Temporal(TemporalType.TIMESTAMP)
private Date ts;
@ManyToOne(fetch=FetchType.LAZY)
private Child child;
}
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@OneToMany(fetch=FetchType.LAZY, mappedBy="parent")
private Parent parent;
}
public interface ParentRepository extends Repository<Parent, Integer> {
@Query(value = "SELECT * from parents p inner join children c on c.id=p.childId where TIMESTAMPDIFF(SECOND, p.ts, CURRENT_TIMESTAMP) < :interval", nativeQuery = true)
Parent findOneByInterval(@Param("interval") long interval);
}
我还尝试向父类添加@NamedEntityGraph,并向查询方法添加@EntityGraph,但没有成功。
如果你想要父对象,你可以这样做
public interface ParentRepository extends Repository<Parent, Integer> {
@Query(value = "SELECT p from parents p inner join children c on c.id=p.childId where TIMESTAMPDIFF(SECOND, p.ts, CURRENT_TIMESTAMP) < :interval", nativeQuery = true)
Parent findOneByInterval(@Param("interval") long interval);
}
(或)Spring data jpa将为本机查询返回对象数组,
public interface ParentRepository extends Repository<Parent, Integer> {
@Query(value = "SELECT * from parents p inner join children c on c.id=p.childId where TIMESTAMPDIFF(SECOND, p.ts, CURRENT_TIMESTAMP) < :interval", nativeQuery = true)
List<Object[]> findOneByInterval(@Param("interval") long interval);
}
我试图在硒环境中设置我的behat测试。现在我从码头工人开始吃硒, 这是我的docker-compose.yml配置: 我得到了我的命令。yml配置: 当我用@JavaScript启动测试时(我想这个启动是selenium env),我得到了错误: 无法打开连接:http POST到http://localhost:4444/wd/hub/session时引发Curl错误,参数:{“desired
我在spring boot中与用户和角色有很多对很多的关系。我在数据库中有三个表(Role_utilisateur,users_roles和utilisateurs)。在我的存储库中,ireturn列出了我的名为RoleEntite的实体,它有两个属性(nom和id)。 当我调用函数时 我在java eclipse中得到了这个错误 org.springframework.security.auth
我目前有两个MQTT代理,它们都工作得很好。其中一个是我本地网络上的覆盆子派。另一个是托管在CloudMQTT上的远程代理。 目标是使两个代理彼此同步。当然,简单的解决方案是桥,但我遇到了一些困难,得到一个适当的桥设置。 据我所知,只有当你有一个静态IP和端口转发到Raspberry Pi时,你才能连接到你的本地网络,那么我如何才能绕过这个问题呢?两个代理需要保持一个永久的TCP连接打开,但是远程
我试图连接我的Android应用程序到本地主机网址感谢wamp服务器,但它不工作。我在这里的目标是获取json数据并解析这些数据。对于我的测试,我使用的设备不是仿真器,我使用权限在Androidanifest.xml: 我的url如下所示: 我试过: 但迄今为止,它从未奏效: 然后我尝试了一个在互联网上找到的json url测试:http://headers.jsontest.com/ 它工作得非
问题内容: 由于wamp服务器,我试图将我的android应用程序连接到本地主机url,但它不起作用。我的目标是获取json数据并解析这些数据。对于我的测试,我使用的是设备而不是模拟器,并且使用AndroidManifest.xml中的权限: 我的网址看起来像这样: 我试过了 : 但是到目前为止,它从未起作用: 然后我尝试了在互联网上找到的json url测试:http : //headers.j
我试图连接到一个名为的数据库。所有凭据都位于PHP文件名中,格式为 我正试图用这个连接到数据库 我得到这个错误: 注意:第6行的未定义变量:DB_HOST in/home/content/06/8274306/html/beta/mysuperscript.php 注意:未定义变量:第6行 /home/content/06/8274306/html/beta/mysuperscript.phpDB
我已经用nginx、php和postgres创建了一个ubuntu映像。 我想将当前映像中的postgres数据库与位于本地计算机上的连接起来。
我正在将我的项目转移到spring Boot2.3.5,它有驱动程序4.6,而LatencyAwarePolicy看起来像是从存在中消失了。我想知道驱动程序4.6是否有类似的策略构建器,或者4.6的最佳方法是什么。 https://docs.datastax.com/en/drivers/java/3.6/com/datastax/driver/core/policies/latencyaware