文字列「--」で示した「空の」日付をどのように解析する必要があるかを尋ねているようです。そして、簡単な答えは、それを解析しないということです!
代わりに、次のようなことを行います。
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); // or whatever
if (str.equals("- -")) {
    invprbm.setFollowupDate(null);
} else {
    invprbm.setFollowUpDate(formatter.parse(str));
}
そして、実際に日付から文字列に移動したい場合は、次のようにします。
if (date == null) {
    invprbm.setFollowupDate("- -");
} else {
    invprbm.setFollowUpDate(formatter.format(date));
}
現在のアプローチの問題は、 DatesSimpleDateFormatに対応するように設計されていないことです。null文字列を解析してDateオブジェクトを生成したり、nullDateオブジェクトをフォーマットしたりすることはできませんnull。
現在のコードが実際に行っているのは、入力文字列から日付/時刻のコンポーネントを抽出する方法をパーサーに指示しない形式を指定することです。このメソッドは、値がゼロparseのDateオブジェクトを返します。getTime()あなたがやろうとしていることはSimpleDateFormatクラスのjavadoc仕様の範囲外であるため、これは不合理ではありません。