在JavaSpring中使用注释将DB列名映射到Bean属性

在JavaSpring中使用注释将DB列名映射到Bean属性,java,annotations,Java,Annotations,我试图解决的问题是在Spring项目中将DB列名映射到bean属性名。我不能使用JPA或Hibernate。基本上,我希望db层知道如何使用列映射写入bean,但是bean的消费者需要使用bean属性名 一个自定义注释可能可以做到这一点,但我很难找到我想要做的事情的文档,这可能意味着这不是一个好主意 某种类型的映射器可能会这样做,但我喜欢注释的想法,因为这样映射就记录在bean中了 给定一个bean: public class ServiceBean { @ColumnMapping(v

我试图解决的问题是在Spring项目中将DB列名映射到bean属性名。我不能使用JPA或Hibernate。基本上,我希望db层知道如何使用列映射写入bean,但是bean的消费者需要使用bean属性名

一个自定义注释可能可以做到这一点,但我很难找到我想要做的事情的文档,这可能意味着这不是一个好主意

某种类型的映射器可能会这样做,但我喜欢注释的想法,因为这样映射就记录在bean中了

给定一个bean:

public class ServiceBean
{
    @ColumnMapping(value = "service_name")
    private String  serviceName;
    @ColumnMapping(value = "service_desc")
    private String  serviceDesc;

    public String getServiceName()
    {
        return serviceName;
    }

    public void setServiceName(String serviceName)
    {
        this.serviceName = serviceName;
    }

    public String getServiceDesc()
    {
        return serviceDesc;
    }

    public void setServiceDesc(String serviceDesc)
    {
        this.serviceDesc = serviceDesc;
    }
}
我认为注释定义的开头如下所示:

@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ColumnMapping
{
    String value();
}
我可能在这杂草丛中

您可以使用具有以下映射配置的框架:

<resultMap id="MyResultMap" type="ServiceBean">
  <result column="service_name" property="serviceName" javaType="String" />
  <result column="service_desc" property="serviceDesc" javaType="String" />
</resultMap>

它是一个轻量级SQL持久性和映射框架,可以轻松集成到Spring体系结构中。
当前版本(v3)现在支持注释()


希望有帮助。

为什么不能使用JPA?既然你还没有展示,你对ORM的预期如何?谢谢,我会查一查。感谢您的评论。