没有persistence.xml的SAP Olingo 4

2020-08-23 05:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

是否可以使用具有spring-boot且没有persistence.xml的SAP odata-jpa-processor lib(0.3.7-SNAPSHOT)?

我正在尝试使用@RestController创建一个Class控制器,并从spring上下文中获取EntityManager,DataSource和ServletContext,但是JPAODataCRUDContextAccess需要setPUnit:

 @RestController
 @RequestMapping(SapController.URI)
 公共类SapController {

 public static final String URI ="/img/odata";

 @Autowired
 EntityManager em;

 @Autowired
 数据源dc;

 @Autowired
 ServletContext上下文;

 @RequestMapping(值=" *")
 公共无效进程(HttpServletRequest请求,HttpServletResponse响应)引发ODataException {

 最终的JPAODataCRUDContextAccess serviceContext = JPAODataServiceContext.with()
 .setPUnit("默认")
 .setDataSource(dc)
 .setTypePackage(" my.package.model")
 。建立();

 最终的JPAODataCRUDHandler处理程序=新的JPAODataCRUDHandler(serviceContext);
 handler.getJPAODataRequestContext()。setEntityManager(em);
 handler.process(请求,响应);

 handler.process(new HttpServletRequestWrapper(request){

 @Override
 公共字符串getServletPath(){
 返回SapController.URI;
 }
 },回应);
 }


 }
 

如果我将Punit设置为"随机名称",则会收到错误" javax.persistence.PersistenceException:名为默认值的EntityManager的持久性提供程序"。


谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

是否可以使用具有spring-boot且没有persistence.xml的SAP odata-jpa-processor lib(0.3.7-SNAPSHOT)?

我正在尝试使用@RestController创建一个Class控制器,并从spring上下文中获取EntityManager,DataSource和ServletContext,但是JPAODataCRUDContextAccess需要setPUnit:

 @RestController
 @RequestMapping(SapController.URI)
 公共类SapController {

 public static final String URI ="/img/odata";

 @Autowired
 EntityManager em;

 @Autowired
 数据源dc;

 @Autowired
 ServletContext上下文;

 @RequestMapping(值=" *")
 公共无效进程(HttpServletRequest请求,HttpServletResponse响应)引发ODataException {

 最终的JPAODataCRUDContextAccess serviceContext = JPAODataServiceContext.with()
 .setPUnit("默认")
 .setDataSource(dc)
 .setTypePackage(" my.package.model")
 。建立();

 最终的JPAODataCRUDHandler处理程序=新的JPAODataCRUDHandler(serviceContext);
 handler.getJPAODataRequestContext()。setEntityManager(em);
 handler.process(请求,响应);

 handler.process(new HttpServletRequestWrapper(request){

 @Override
 公共字符串getServletPath(){
 返回SapController.URI;
 }
 },回应);
 }


 }
 

如果我将Punit设置为"随机名称",则会收到错误" javax.persistence.PersistenceException:名为默认值的EntityManager的持久性提供程序"。


谢谢
付费偷看设置
发送
2条回答
SAP小黑
1楼-- · 2020-08-23 05:53

我这样解决:

最终JPAODataCRUDContextAccess serviceContextB = JPAODataServiceContext.with()
           .setPUnit("默认")
           .setDataSource(dc)
           .setTypePackage(" my.package.model")
           .setEntityManagerFactory(em.getEntityManagerFactory())
           .build(); 
SKY徐
2楼-- · 2020-08-23 05:41

感谢您访问SAP社区以获得问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的回响。

如果您愿意,可以先选择"操作",然后再"编辑"来修改您的问题(尽管一旦有人回答了您的问题,您将失去编辑问题的能力-但是,如果发生这种情况,您可以在" 评论)。

-杰里

一周热门 更多>