Java 自动将DB表映射到Hibernate类
我有我朋友的EJB项目,它使用hibernate。在这个项目的帮助下,我正在做我的Java项目。我的不是EJB,而是桌面应用程序。我有一个小的hibernate类映射问题,就是在我朋友的项目中,当我向数据库添加一个新字段(比如varchar)时,我可以在相关java类中使用该字段。比如说 在数据库中,我将电话号码添加到表A中。我可以这样使用它Java 自动将DB表映射到Hibernate类,java,hibernate,class,ejb,automapping,Java,Hibernate,Class,Ejb,Automapping,我有我朋友的EJB项目,它使用hibernate。在这个项目的帮助下,我正在做我的Java项目。我的不是EJB,而是桌面应用程序。我有一个小的hibernate类映射问题,就是在我朋友的项目中,当我向数据库添加一个新字段(比如varchar)时,我可以在相关java类中使用该字段。比如说 在数据库中,我将电话号码添加到表A中。我可以这样使用它 class A { ....... private String telephoneNo; public String getT
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.您可以定义在何处休眠以搜索实体。您可以定义查看当前jar的附加jar。。。(../MyApp.jar),但用作实体的类必须通过注释(@entity)或xml映射进行声明。
2.用于列名称和表名称。hibernate按照异常进行配置,因此如果不给表或字段命名,则列名或表名将是相同的。您可以覆盖hibernate的默认命名(请参阅property name=“hibernate.naming_strategy”)。您的好友项目中必须有hbm.xml或注释才能进行映射。检查它。谢谢你的回答,我阅读了配置文档,但我的项目不是EJB,它是一个标准的桌面应用程序,我还添加了一个类和@entity注释,当我运行它时,我会得到未知的实体异常,但是在EJB项目(我朋友的)中,如果我向DB添加一个表,然后我可以在EJB中创建一个类并使用它,而无需编写或编辑任何EML