EMF这把大刀,官方工具未完善,对jpa的支持不满意,尚待些时日吧。
本文描述如何生成自己需要的jpa模型,通过annotation。
1)构建模型元数据
2)使用JET生成模板
3)生成JPA模型
4)JPA模型生成数据表
meta-->your jpa(annotation) model-->database
代码结构:
1)
EModel--Class--Table
EProperty--Property--Field
ETags---Annotation--Define or Descript the Table &Field
2) JET模板和生成的模板类
3)生成模型
元模型定义示例
生成器
生成的模型
4) 模型生成表
DB连接定义
----------------------------------------------模型与数据表对应示例-------------------------------------------------------
模型定义
数据表
KMUser_KMDocument为@OneToMany,其实KMDocument中已生成Owner_ID,不需要第三方表。
生成代码应该为:
@SuppressWarnings("unchecked")
@OneToMany(fetch=FetchType.LAZY, mappedBy="owner", targetEntity=Document.class)
public List<Document> getDocs() {
return (List<Document>)_get("docs");
}
-----------------------------------------------------------------
这里的元模型均使用代码,也可以从UML类图中解析。