将属性文件值的值导入类注释

时间:2017-01-19 08:08:42

标签: java spring spring-boot annotations

有没有办法将属性文件中的值导入类级别注释?

application.properties

native.query="Select * from Registration"

Registration.java

@NamedNativeQuery(name="RegQuery", resultSetMapping="RegResult",
    query = "${native.query}"
)
@Entity
public class Registration {
    ...
}
在这种情况下,

${native.query}被视为字符串。

EDIT1

我不能把它作为答案,因为它没有直接回答这个问题。不妨把这个放在这里作为参考。

如下面评论部分所述,Import value of properties file value to a class annotation是不可能的。

由于这是一个本机查询,因此我将查询保留在属性文件中,以便于环境切换。

application.properties

native.query="Select * from Registration"

删除@NamedNativeQuery

Registration.java

@Entity
public class Registration {
    ...
}

使用@Value导入属性。 (更好地在DAL上实现此查询)

RegistrationService.java

@Service
public class RegistrationService {
    @Value("${native.query}")
    private String regQuery;

    @Autowired
    private EntityManager em;

    public getAllRegistered(){
        Query q1 = em.createNativeQuery(regQuery, "RegResult");
    }
}

0 个答案:

没有答案