From c58e93829fb71a0102f991dc967af997f831c5d4 Mon Sep 17 00:00:00 2001 From: Rishabh Date: Sat, 1 Feb 2025 17:27:48 +0530 Subject: [PATCH] TRUNK-5906 : ConceptReferenceTerm Domain - Switching from Hibernate Mappings to Annotations --- .../org/openmrs/ConceptReferenceTerm.java | 25 +++++++- api/src/main/resources/hibernate.cfg.xml | 1 - .../db/hibernate/ConceptReferenceTerm.hbm.xml | 62 ------------------- .../org/openmrs/api/OrderServiceTest.java | 1 + 4 files changed, 25 insertions(+), 64 deletions(-) delete mode 100644 api/src/main/resources/org/openmrs/api/db/hibernate/ConceptReferenceTerm.hbm.xml 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();