Для начала просто создадим нужный нам Enum. Пусть у стутентов могут быть только определенные хобби:

package org.example.entity;

public enum HobbyEnum {
	CHESS, CHEKERS, TENNIS, FOOTBALL, SWIMMING;

	HobbyEnum() {
	}
}


Чтобы подключить данный Enum в классе STUDENTS мы используем аннотацию @Enumerated:

	@Column
	@Enumerated(EnumType.STRING)
	private HobbyEnum hobby;

EnumType.STRING — означает, что в БД будет хранится стринговое значение, т.е. CHESS, CHEKERS, TENNIS, FOOTBALL или SWIMMING;

EnumType.ORDINAL — означает, что в БД будут храниться ID данного Enum

Соответсвтенно весь класс STUDENTS будет выглядеть так:

package org.example.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "STUDENTS")
@NamedQueries(value = { @NamedQuery(name = "STUDENTS.getAll", query = "SELECT s FROM STUDENTS s"),
		@NamedQuery(name = "STUDENTS.getNameById", query = "SELECT s.name FROM STUDENTS s WHERE s.ID = :ID")

})

public class STUDENTS implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private long ID;

	@Column	
	private String name;

	@Column
	@Enumerated(EnumType.STRING)
	private HobbyEnum hobby;

	@Override
	public String toString() {
		return "STUDENTS [ID=" + ID + ", name=" + name + ", hobby=" + hobby + "]";
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	

	public HobbyEnum getHobby() {
		return hobby;
	}

	public void setHobby(HobbyEnum hobby) {
		this.hobby = hobby;
	}

	public long getID() {
		return ID;
	}

}

Соответственно добавить запись в БД будет выглядеть так:

		STUDENTS s = new STUDENTS();

		s.setName("Petrov");
		s.setHobby(HobbyEnum.CHESS);

		StudentsCrud sc = new StudentsCrud();
		sc.add(s);

Все, запись добавилась.
PS Класс StudentsCrud смотрите в предыдущей статье.

Реклама