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
Jpa JAX-RS:@PersistentContext,如何在门面构造函数中获取EntityManager?_Jpa_Jax Rs_Entitymanager - Fatal编程技术网

Jpa JAX-RS:@PersistentContext,如何在门面构造函数中获取EntityManager?

Jpa JAX-RS:@PersistentContext,如何在门面构造函数中获取EntityManager?,jpa,jax-rs,entitymanager,Jpa,Jax Rs,Entitymanager,我有一个由Netbeans生成的JAX-RSWeb服务。服务的端点有非抽象门面类。持久性上下文正在注入到非抽象外观中。一切正常,我看到我的数据被返回给Fiddler 我们正在使用DTO,我正在实现一个汇编模式。因此,在非抽象facade的构造函数中,我创建了一个汇编器实例,并将facade的实体管理器实例传递给它。不幸的是,在调用facade的构造函数之前,似乎还没有注入持久性上下文,因此我无法将entity manager实例传递到汇编器中,以供其在映射操作中使用。有点像是结束前的鸡。。。我不

我有一个由Netbeans生成的JAX-RSWeb服务。服务的端点有非抽象门面类。持久性上下文正在注入到非抽象外观中。一切正常,我看到我的数据被返回给Fiddler

我们正在使用DTO,我正在实现一个汇编模式。因此,在非抽象facade的构造函数中,我创建了一个汇编器实例,并将facade的实体管理器实例传递给它。不幸的是,在调用facade的构造函数之前,似乎还没有注入持久性上下文,因此我无法将entity manager实例传递到汇编器中,以供其在映射操作中使用。有点像是结束前的鸡。。。我不知道该怎么做。。。是否有某种后构造函数方法可以重写并执行汇编程序的初始化,并将实体管理器传递给它?我非常感谢你的帮助和建议

谢谢你的时间和想法,
Mike

使用标有
@PostConstruct
注释的方法。像这样:

@PostConstruct
private void init() {
    // I'm called after all injections have been resolved
    // initialize some object variables here
    ...
}

在该方法中,您可以同时使用构造函数中初始化的对象字段和通过注入传递的对象字段。

非常感谢,Gas!它工作得很好!使用注释的想法没有进入我的脑海。酷,东西!:)