⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hibernateemfconfiggenerator.javajet

📁 基于eclipse的工具开发代码
💻 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 + -