demo java hibernate - jmr-source/doc GitHub Wiki
生成实体类对应的hibernate配置文件。
- 模型:shop
当前任务的模型名称是shop,包含一个java实体模型book,book的relation值是one; 我们在模板中会通过<entity>得到它。 关于本demo的模型结构,详细内容请点击:模型结构
-
模板:hbm.xml.jet
-
文件名:${one.Class}
我们为这个模型新设了以下属性: Class:头字母大写的名称,可以作为类名或者需要头字母大写的部分,它的值是"Book"。 class:头字母小写的名称,可以作为头字母小写的部分,它的值是"book"。 menu:界面菜单栏的名称,它的值是"book"。 关于本demo的模型结构,详细内容请点击:模型结构
- 扩展名:我们生成的是hibernate配置文件,所以扩展名为hbm.xml
为了得到模型的代码提示,选好jmr文件和对应的模型shop。
- 得到entity,它的relation为one,对应的模型为book,新设变量object指向one。
- 设置变量table,作为表名,表名即使模型名,模型名是从数据库表名转换而来的。
- 设置变量Class,作为类名,通过object.property("Class")得到。
格式: <class name="类名" table="表名"> 主键的映射格式是: <id name="字段name" type="字段fullType"> <column name="字段name" /> <generator class="identity" /> </id> 非主键的映射格式是: <property name="字段name" type="字段fullType"> <column name="字段id" /> </property>
- 使用for遍历字段。
- 使用if和else判断。如果字段是主键,则使用主键的格式;否则使用非主键格式。
字段name和字段id有什么区别呢?
字段id和数据库表的字段名一致,字段name则是映射后的字段名。 比如,按数据库的命名规范,有字段regist_time,它映射成jmr模型后,转为registTime。 registTime则是我们对应的java字段的名称。
运行结果
小贴士:isPk用来判断字段是否为主键,如果为true,则字段为主键;false,则为非主键。 此处将鼠标选中if中的test,可以查看判断的结果。