没有persistence.xml的SAP Olingo 4

2020-08-23 05:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 是否可以使用具有sp...

         点击此处--->   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小黑
2020-08-23 05:53

我这样解决:

最终JPAODataCRUDContextAccess serviceContextB = JPAODataServiceContext.with()
           .setPUnit("默认")
           .setDataSource(dc)
           .setTypePackage(" my.package.model")
           .setEntityManagerFactory(em.getEntityManagerFactory())
           .build(); 

一周热门 更多>