📄 hibernateemfconfiggenerator.javajet
字号:
<%@ jet package="com.cownew.studio.modelDev.codeGen.hib"
imports = "com.cownew.studio.modelDev.common.* org.eclipse.core.resources.IProject
java.util.* com.cownew.studio.modelDev.common.enumdef.*"
class="HibernateEMFConfigGenerator" %>
<%CodeGenArgInfo argInfo = (CodeGenArgInfo)argument;
EntityModelBean modelBean = argInfo.getModelBean();
IProject project = argInfo.getProject();
INameStrategy nameStrategy = argInfo.getNameStrategy();
List<EntityFieldModelBean> fieldList = modelBean.getFieldList();
EntityFieldModelBean primaryKeyBean = CodeGenUtils.getFieldModelByName(modelBean,
modelBean.getPrimaryKey());
%>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="<%=modelBean.getPackageName()+"."+nameStrategy.entityNameToOVName(modelBean.getName())%>" table="<%=modelBean.getDbTableName()%>">
<id name="<%=modelBean.getPrimaryKey()%>" type="string" unsaved-value="null" >
<column name="<%=primaryKeyBean.getDbFieldName()%>" sql-type="<%=CodeGenUtils.dataTypeToDBDef(primaryKeyBean)%>"
not-null="true"/>
<generator class="uuid.hex"/>
</id>
<%
for(int i=0,n=fieldList.size();i<n;i++)
{
EntityFieldModelBean field = fieldList.get(i);
if(field.getName().equals(primaryKeyBean.getName()))
{
continue;
}
if(field.getLinkType()==LinkTypeEnum.ONETOMANY)
{
%>
<set name="<%=field.getName()%>" lazy="true" inverse="<%=field.isInverse()%>"
cascade="<%=field.getCascadeType().toString()%>">
<key column="<%=field.getKeyColumn()%>" />
<one-to-many class="<%=nameStrategy.entityFullPathToFullClassName(field.getLinkEntity(),project)%>" />
</set>
<%
}
else if(field.getLinkType()==LinkTypeEnum.MANYTOONE)
{
%>
<many-to-one name="<%=field.getName()%>" column="<%=field.getDbFieldName()%>"/>
<%
}
else if(field.getLinkType()==LinkTypeEnum.ONETOONE)
{
%>
<one-to-one name="<%=field.getName()%>"
class="<%=nameStrategy.entityFullPathToFullClassName(field.getLinkEntity(),project)%>"
constrained="<%=field.isConstrained()%>"
<%
if(field.getCascadeType()!=null)
{
stringBuffer.append("cascade=\"").append(field.getCascadeType().toString()).append("\"");
}
if(field.getOuterJoinType()!=null)
{
stringBuffer.append("outer-join=\"").append(field.getOuterJoinType().toString()).append("\"");
}
%>
/>
<%
}
else// simple field
{
String fieldDBDef = CodeGenUtils.dataTypeToDBDef(primaryKeyBean);
fieldDBDef = "sql-type=\""+fieldDBDef+"\"";
%>
<property name="<%=field.getName()%>">
<column name="<%=field.getDbFieldName()%>" <%=fieldDBDef%> not-null="<%=!field.isAllowNull()%>"/>
</property>
<%
}
}
%>
</class>
</hibernate-mapping>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -