我需要将DB中的一些实体字段保存为JSON。 最喜欢的解决方案是定义自定义的hibernate UserType。
JSON转换器(Jackson)doc建议将其用作单例,但hibernate本身会创建自定义UserType对象。 如何在我的自定义Hibernate UserType对象中注入spring定义的JSON转换器bean?
答案 0 :(得分:0)
解决方案可能正在使用@Configurable,因此您可以自动装配属性对象,即使这不是指向它们的弹簧容器。
代码示例:
@Configurable
public class CSessionImpl implements CSessionOperations {
private Touriste touriste;
@Inject
private Office office;
@Inject
private OTmanager manager;
@Inject private ScheduledExecutorService executorService;
private ScheduledFuture<Void> schedule;
@PostConstruct
private void replanifierMiseHorsLigne(){
if(schedule != null){
schedule.cancel(false);
}
schedule = executorService.schedule(new Callable<Void>() {
@Override
public Void call() t
在CSessionImpl中看到这个例子。&lt; INIT&GT;将与@Inject调用attribut将被连线。
你需要添加beans.xml:
<context:spring-configured/>
您还需要在编译时或运行时执行编织
用于编译时编织的maven:
<build>
<finalName>OTLogiciel</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>compile</id>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
<source>${java-version}</source>
<target>${java-version}</target>
<verbose>false</verbose>
<outxml>true</outxml>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
</dependencies>
</plugin>
如果你正在使用eclispe,你还需要安装&#34; ApectJ开发工具&#34;