attroverridesecondarytable
Address
name
street
city
country
Person
name
age
Employee
address
employeeNumber
NonEmployee
address
Country
name
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="attroverridesecondarytable"
    nsURI="http://www.eclipse.org/emf/teneo/samples/emf/annotations/attroverridesecondarytable"
    nsPrefix="attroverridesecondarytable">
  <eClassifiers xsi:type="ecore:EClass" name="Address">
    <eAnnotations source="teneo.jpa">
      <details key="value" value="@Embeddable"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="street" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="city" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="country" eType="#//Country"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Person">
    <eAnnotations source="teneo.jpa">
      <details key="value" value="@Inheritance(strategy=SINGLE_TABLE)&#xA;"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="age" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person">
    <eAnnotations source="teneo.jpa">
      <details key="value" value="@SecondaryTable(name=&quot;secondary_table&quot;)"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="address" eType="#//Address">
      <eAnnotations source="teneo.jpa">
        <details key="value" value="@Embedded&#xA;@AttributeOverrides({&#xA;&#x9;@AttributeOverride(name=&quot;name&quot; column=@Column(name=&quot;other_name&quot; table=&quot;secondary_table&quot;)),&#xA;&#x9;@AttributeOverride(name=&quot;street&quot; column=@Column(name=&quot;other_street&quot; table=&quot;secondary_table&quot;)),&#xA;&#x9;@AttributeOverride(name=&quot;city&quot; column=@Column(name=&quot;other_city&quot; table=&quot;secondary_table&quot;))&#xA;})&#xA;@AssociationOverrides({&#xA;&#x9;@AssociationOverride(name=&quot;country&quot; joinColumns=@JoinColumn(name=&quot;addr_country&quot; table=&quot;secondary_table&quot;))&#xA;})"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="employeeNumber" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="teneo.jpa">
        <details key="value" value="@Column(name=&quot;emp_num&quot; table=&quot;secondary_table&quot;)"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NonEmployee" eSuperTypes="#//Person">
    <eStructuralFeatures xsi:type="ecore:EReference" name="address" eType="#//Address">
      <eAnnotations source="teneo.jpa">
        <details key="value" value="@Embedded"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Country">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"attroverridesecondarytable","nsURI":"http://www.eclipse.org/emf/teneo/samples/emf/annotations/attroverridesecondarytable","name":"attroverridesecondarytable","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Address","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Person","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Employee","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NonEmployee","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Country","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":6,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"street","changeable":true,"lowerBound":0,"iD":false,"id":7,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"city","changeable":true,"lowerBound":0,"iD":false,"id":8,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"country","changeable":true,"resolveProxies":true,"lowerBound":0,"id":9,"derived":false},{"id":10,"eClass":"EGenericType"},{"id":11,"eClass":"EGenericType"},{"id":12,"eClass":"EGenericType"},{"id":13,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":14,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"age","changeable":true,"lowerBound":0,"iD":false,"id":15,"derived":false},{"id":16,"eClass":"EGenericType"},{"id":17,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"address","changeable":true,"resolveProxies":true,"lowerBound":0,"id":18,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"employeeNumber","changeable":true,"lowerBound":0,"iD":false,"id":19,"derived":false},{"id":20,"eClass":"EGenericType"},{"id":21,"eClass":"EGenericType"},{"id":22,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"address","changeable":true,"resolveProxies":true,"lowerBound":0,"id":23,"derived":false},{"id":24,"eClass":"EGenericType"},{"id":25,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":26,"derived":false},{"id":27,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":1,"target":0},{"source":1,"target":6},{"source":1,"target":7},{"source":1,"target":8},{"source":1,"target":9},{"source":6,"target":10},{"source":6,"target":1},{"source":7,"target":11},{"source":7,"target":1},{"source":8,"target":12},{"source":8,"target":1},{"source":9,"target":5},{"source":9,"target":13},{"source":9,"target":1},{"source":13,"target":5},{"source":2,"target":0},{"source":2,"target":14},{"source":2,"target":15},{"source":14,"target":16},{"source":14,"target":2},{"source":15,"target":17},{"source":15,"target":2},{"source":3,"target":0},{"source":3,"target":2},{"source":3,"target":18},{"source":3,"target":19},{"source":3,"target":20},{"source":18,"target":1},{"source":18,"target":21},{"source":18,"target":3},{"source":21,"target":1},{"source":19,"target":22},{"source":19,"target":3},{"source":20,"target":2},{"source":4,"target":0},{"source":4,"target":2},{"source":4,"target":23},{"source":4,"target":24},{"source":23,"target":1},{"source":23,"target":25},{"source":23,"target":4},{"source":25,"target":1},{"source":24,"target":2},{"source":5,"target":0},{"source":5,"target":26},{"source":26,"target":27},{"source":26,"target":5}],"multigraph":true}