Я хочу сохранить вновь созданный объект в базе данных, используя Java и Hibernate. Для простого объекта, это плохая практика хранить его в базе данных в его конструкторе? Если так, то почему? И как мне сделать это вместо этого?
public class EnumObjType implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "CAR_ID")
private Long CarId;
@NotNull
@Column(name = "NAME")
private String name;
public Car() {
}
public Car(String name, boolean persist) {
setName(name);
if (persist == true) {
setCarId(DB.saveEntity(this));
}
}
// getters and setters
}
DB.class (отрывок):
public static <Obj> Long saveEntity(Obj obj) {
Long id;
try {
DB.s.close();
DB.openSession();
DB.s.beginTransaction();
id = (Long) DB.s.save(obj);
DB.s.getTransaction().commit();
} catch (Throwable ex) {
System.err.println("Failed to create sessionFactory object." + ex);
throw new ExceptionInInitializerError(ex);
}
return id;
}