将DB表自动映射到Hibernate类

时间:2012-07-20 09:07:04

标签: java hibernate class ejb automapping

我的朋友的EJB项目使用了hibernate。我正在该项目的帮助下完成我的Java项目。我的不是EJB,它是一个桌面应用程序。我有一个小的hibernate类映射问题,就在我朋友的项目中,当我向数据库添加一个新字段(比如varchar)时,我可以在相关的java类中使用该字段。例如。

在数据库中我添加了phone_no到表A.我可以像这样使用它

class A {
    .......
    private String telephoneNo;

    public String getTelephoneNo(){
          return this.telephoneNo;
    }


    public void setTelephoneNo(String telephoneNo){
          this.telephoneNo = telephoneNo;
    }
    ........
}

但我的项目,我必须使用注释来设置列名。

难题是,它如何解析变量名?我知道在hibernate中如果数据库字段和类变量名相同,那么它会自动映射,如果不是我们应该注释或使用xml来映射,但在这种情况下(我朋友的项目)它是如何自动解决的?

同样在我朋友的EJB项目中,我根本看不到任何类映射,当我们添加表时,它会自动映射到相关类(我的意思是在向EJB添加类之后)。

但是如何在我的Java桌面应用程序中实现这一目标?

1 个答案:

答案 0 :(得分:0)

你在这里问了很多问题: 1.你可以定义休眠搜索实体的位置。您可以定义查看当前jar其他jar ...(../ MyApp.jar see configuration document),但用作实体的类必须通过注释(@entity)或xml映射来声明。 2.列名和表名。 hibernate按异常进行配置,因此如果你不给表或字段命名,列名或表名将是相同的。你可以覆盖hibernate的默认命名(参见property name =“hibernate.naming_strategy”)。