diff --git a/api/src/main/java/org/openmrs/ConceptReferenceTerm.java b/api/src/main/java/org/openmrs/ConceptReferenceTerm.java index 4959bfd4209a..191c550733fe 100644 --- a/api/src/main/java/org/openmrs/ConceptReferenceTerm.java +++ b/api/src/main/java/org/openmrs/ConceptReferenceTerm.java @@ -11,11 +11,20 @@ import java.util.LinkedHashSet; import java.util.Set; - +import javax.persistence.Entity; import org.hibernate.envers.Audited; import org.hibernate.search.annotations.Analyze; import org.hibernate.search.annotations.DocumentId; import org.hibernate.search.annotations.Field; +import javax.persistence.Table; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Id; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.Parameter; +import javax.persistence.OneToMany; /** * A concept reference term is typically name for a concept by which it is referred in another @@ -25,21 +34,35 @@ * @since 1.9 */ @Audited +@Entity +@Table(name = "concept_reference_term") public class ConceptReferenceTerm extends BaseChangeableOpenmrsMetadata { private static final long serialVersionUID = 1L; @DocumentId + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE) + @GenericGenerator( + name = "concept_reference_term_id_seq", + strategy = "native", + parameters = @Parameter(name = "sequence", value = "concept_reference_term_concept_reference_term_id_seq") + ) + @Column(name = "concept_reference_term_id") private Integer conceptReferenceTermId; + @Column(name = "concept_source_id", nullable = false) private ConceptSource conceptSource; //The unique code used to identify the reference term in it's reference terminology @Field(analyze = Analyze.NO) + @Column(name = "code", length = 255, nullable = false) private String code; + @Column(name = "version", length = 50) private String version; + @OneToMany(mappedBy = "conceptReferenceTerm" ,cascade = CascadeType.ALL, orphanRemoval = true) private Set conceptReferenceTermMaps; /** default constructor */ diff --git a/api/src/main/resources/hibernate.cfg.xml b/api/src/main/resources/hibernate.cfg.xml index 1cad8cc6aa43..ad9589de0629 100644 --- a/api/src/main/resources/hibernate.cfg.xml +++ b/api/src/main/resources/hibernate.cfg.xml @@ -38,7 +38,6 @@ - diff --git a/api/src/main/resources/org/openmrs/api/db/hibernate/ConceptReferenceTerm.hbm.xml b/api/src/main/resources/org/openmrs/api/db/hibernate/ConceptReferenceTerm.hbm.xml deleted file mode 100644 index 064ccd28e4f4..000000000000 --- a/api/src/main/resources/org/openmrs/api/db/hibernate/ConceptReferenceTerm.hbm.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - concept_reference_term_concept_reference_term_id_seq - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/api/src/test/java/org/openmrs/api/OrderServiceTest.java b/api/src/test/java/org/openmrs/api/OrderServiceTest.java index 12f636a67082..93878baa19f6 100644 --- a/api/src/test/java/org/openmrs/api/OrderServiceTest.java +++ b/api/src/test/java/org/openmrs/api/OrderServiceTest.java @@ -2742,6 +2742,7 @@ public void saveOrder_shouldFailIfTheJavaTypeOfThePreviousOrderDoesNotMatch() th .addAnnotatedClass(ProgramAttributeType.class) .addAnnotatedClass(HL7InError.class) .addAnnotatedClass(OrderType.class) + .addAnnotatedClass(ConceptReferenceTerm.class) .getMetadataBuilder().build();