Вам необходимо создать java.util.Date
, а затем преобразовать его в java.sql.Date
, используя конструктор, который принимает long
.
Пример:
String year = "2018";
DateFormat format = new SimpleDateFormat("yyyy");
java.util.Date utilDate = format.parse(year);
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
Однако,это не "только год".Даты в Java всегда имеют компонент времени, поэтому это невозможно - в моем примере это будет «1 января 2018 00:00:00 по Гринвичу».Это достаточно близко к тому, что вы хотите, или вы могли бы уточнить свой вопрос?
Кроме того, java.sql.Date
расширяет java.util.Date
, поэтому в идеале вы должны использовать первое, где это возможно, для удовлетворения принципа подстановки Лискова.