diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 9b48df0..e77202e 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -266,6 +266,7 @@
 
   std::string java_package();
   std::string java_type_imports();
+  std::string java_suppressions();
   std::string type_name(t_type* ttype, bool in_container=false, bool in_init=false, bool skip_generic=false);
   std::string base_type_name(t_base_type* tbase, bool in_container=false);
   std::string declare_field(t_field* tfield, bool init=false, bool comment=false);
@@ -403,6 +404,10 @@
     "import org.slf4j.LoggerFactory;\n\n";
 }
 
+string t_java_generator::java_suppressions() {
+  return "@SuppressWarnings({\"cast\", \"rawtypes\", \"serial\", \"unchecked\"})\n";
+}
+
 /**
  * Nothing in Java
  */
@@ -526,7 +531,8 @@
   f_consts <<
     autogen_comment() <<
     java_package() <<
-    java_type_imports();
+    java_type_imports() <<
+    java_suppressions();
 
   f_consts <<
     "public class " << make_valid_java_identifier(program_name_) << "Constants {" << endl <<
@@ -729,7 +735,8 @@
   f_struct <<
     autogen_comment() <<
     java_package() <<
-    java_type_imports();
+    java_type_imports() <<
+    java_suppressions();
 
   generate_java_struct_definition(f_struct,
                                   tstruct,
@@ -751,7 +758,8 @@
   f_struct <<
     autogen_comment() <<
     java_package() <<
-    java_type_imports();
+    java_type_imports() <<
+    java_suppressions();
 
   generate_java_doc(f_struct, tstruct);
 
@@ -2246,7 +2254,8 @@
   f_service_ <<
     autogen_comment() <<
     java_package() <<
-    java_type_imports();
+    java_type_imports() <<
+    java_suppressions();
 
   generate_javax_generated_annotation(f_service_);
   f_service_ << "public class " << service_name_ << " {" << endl << endl;
