Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SpringDataJPA实体中调用SpringRoo服务?_Spring_Jpa_Service - Fatal编程技术网

如何在SpringDataJPA实体中调用SpringRoo服务?

如何在SpringDataJPA实体中调用SpringRoo服务?,spring,jpa,service,Spring,Jpa,Service,我刚刚接触Spring和JPA2。我知道这个问题很简单,但我就是找不到答案 通常这就是我在backingbean中调用roo服务的方式 public Groups getGroups(Long id){ Groups groups = groupsService.findGroupsById(id); } 比如,; 我有一个JPA实体文件名“User”: 我想在JPA实体中使用这个“groupsService.findGroupsById(id)”,这样列表就可以显示组名 我知道JPA

我刚刚接触Spring和JPA2。我知道这个问题很简单,但我就是找不到答案

通常这就是我在backingbean中调用roo服务的方式

public Groups getGroups(Long id){
    Groups groups = groupsService.findGroupsById(id);
}
比如,; 我有一个JPA实体文件名“User”:

我想在JPA实体中使用这个“
groupsService.findGroupsById(id)
”,这样列表就可以显示组名

我知道JPA实体可以将groupId链接为FK,如下所示:

@ManyToOne(targetEntity=Groups.class)
private Groups groupId;
但是如果groupId不是FK呢?如何调用JPA实体内的服务?我试过上述方法,但不起作用

有什么想法吗


谢谢。

您可以创建一个对ApplicationContext具有静态引用的util类,下面是我在项目中使用的代码示例(记不起从何处复制该类):

使用以下标记将此类添加到springContext.xml:

<bean id="springApplicationContext" class="yourpackage.SpringApplicationContext"/>

您可以创建一个util类,该类将静态引用ApplicationContext,下面是我在项目中使用的代码示例(记不起从何处复制该类):

使用以下标记将此类添加到springContext.xml:

<bean id="springApplicationContext" class="yourpackage.SpringApplicationContext"/>

我认为这不会起作用,因为实体不是由Spring上下文创建的,向实体添加此类代码也不是一个好做法,最好从服务类调用此方法是的,我猜在Spring中,一切都是从支持bean开始的。但我想,如果我可以在实体中调用服务,那么显示数据的方式就会更简单。有没有其他方法可以做到这一点?我认为这不会起作用,因为实体不是由Spring上下文创建的,向实体添加此类代码也不是一个好做法,最好从服务类调用此方法是的,我想在Spring中,一切都是从支持bean开始的。但我想,如果我可以在实体中调用服务,那么显示数据的方式就会更简单。有别的办法吗?嗨,fmodos。谢谢你回答我的问题。但我还是有些不明白的地方。groupService是RoosService,而不是RooJsfManageBean允许命名它。因此,代码GroupService GroupService=(GroupService)SpringApplicationContext.getBean(“GroupService”);能够调用RooService并在JPA中使用吗?ThanksI从未使用过RooService,但是如果您在springContext.xml中声明此服务,它应该可以工作,请尝试一下,并告诉我Hi,fmodos。谢谢你回答我的问题。但我还是有些不明白的地方。groupService是RoosService,而不是RooJsfManageBean允许命名它。因此,代码GroupService GroupService=(GroupService)SpringApplicationContext.getBean(“GroupService”);能够调用RooService并在JPA中使用吗?ThanksI从未使用过RooService,但如果您在springContext.xml中声明了此服务,它应该可以工作,请尝试一下并告诉我
<bean id="springApplicationContext" class="yourpackage.SpringApplicationContext"/>
//get the service bean of the spring context    
    GroupService groupService = (GroupService) SpringApplicationContext.getBean("groupService");
    groupService.findGroupsById(id);