diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc
index d944e26..3524ada 100644
--- a/compiler/cpp/src/thrift/generate/t_java_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc
@@ -2997,7 +2997,7 @@
 }
 
 void t_java_generator::generate_metadata_for_field_annotations(std::ostream& out, t_field* field) {
-  if (field->annotations_.size() == 0) {
+  if (field->annotations_.size() == 0 && field->get_type()->annotations_.size() == 0) {
     return;
   }
   out << ", " << '\n';
@@ -3014,6 +3014,15 @@
                        + "\", \"" + annotation.second.back() + "\"))"
                 << '\n';
   }
+  for (auto& annotation : field->get_type()->annotations_) {
+    // field annotations have higher priority than type annotations
+    if (field->annotations_.find(annotation.first) != field->annotations_.end()) {
+      continue;
+    }
+    indent(out) << ".add(new java.util.AbstractMap.SimpleImmutableEntry<>(\"" + annotation.first
+                       + "\", \"" + annotation.second.back() + "\"))"
+                << '\n';
+  }
   indent(out) << ".build().collect(java.util.stream.Collectors.toMap(java.util.Map.Entry::getKey, "
                  "java.util.Map.Entry::getValue))";
   indent_down();
diff --git a/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java b/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java
index c40c49b..e06ea23 100644
--- a/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java
+++ b/lib/java/src/test/java/org/apache/thrift/TestAnnotationMetadata.java
@@ -65,5 +65,15 @@
       expected.put("compression", "false");
       assertEquals(expected, metadata);
     }
+    {
+      Map<String, String> metadata =
+          structMetaDataMap
+              .get(OneOfEachBeansWithAnnotations._Fields.TYPEDEF_META)
+              .getFieldAnnotations();
+      Map<String, String> expected = new HashMap<>();
+      expected.put("a", "b");
+      expected.put("c", "d");
+      assertEquals(expected, metadata);
+    }
   }
 }
diff --git a/lib/java/src/test/resources/JavaAnnotationTest.thrift b/lib/java/src/test/resources/JavaAnnotationTest.thrift
index 925a05d..15fc87a 100644
--- a/lib/java/src/test/resources/JavaAnnotationTest.thrift
+++ b/lib/java/src/test/resources/JavaAnnotationTest.thrift
@@ -19,6 +19,8 @@
 
 namespace java thrift.test.annotations
 
+typedef string my_typedef (a = "a", c = "d")
+
 struct OneOfEachBeansWithAnnotations {
   1: bool boolean_field,
   2: byte a_bite (compression = "false"),
@@ -30,5 +32,7 @@
   8: binary base64,
   9: list<byte> byte_list (non_empty = "true"),
   10: list<i16> i16_list,
-  11: list<i64> i64_list
+  11: list<i64> i64_list,
+  // a is overridden to b
+  12: my_typedef typedef_meta (a = "b"),
 }
