Witam,
Dopiero zaczynam swoją przygodę z programowaniem i w związku z tym mam pytanie. Tworzę prostą klasę encyjną Akademik i po uruchomieniu aplikacji tworzy się tabela w bazie. Wykorzystuje Facady gdzie jest wstrzyknięcie @PersistenceContext. Wcześniej dodawałem obiekty poprzez formularz i wywołanie metody create(T entity) znajdującej się w AbstractFacade. Ale chciałbym zrobić tak aby po uruchomieniu aplikacji tabela utworzyła się od razu z danymi/krotkami. Próbowałem poprzez opisanie encji adnotacją @NamedQueries ale chyba za pomocą tej adnotacji nie można wykonać insert ("the query does not start with a valid identifier has to be either select update or delete from"). W związku z tym chciałbym zapytać jak sobie z tym poradzić. Czy można to w ogóle zrobić z poziomu samej encji?? Szukałem w necie ale jakoś nie mogę sobie poradzić. Kod:
@Entity
@Table(name = "Akademiki")
@TableGenerator(pkColumnName = "CLASS", pkColumnValue = "akademik", valueColumnName = "RSVD",
name = "AKADEMIK_GEN", table = "GENERATOR")
public class Akademik implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "AKADEMIK_GEN")
private Long id;
@Column(nullable = false, unique = true)
private String nazwa;
public String getNazwa() {
return nazwa;
}
public void setNazwa(String nazwa) {
this.nazwa = nazwa;
}
}
-----------------------------facada
@Stateless
public class AkademikFacade extends AbstractFacade<Akademik> {
@PersistenceContext(unitName = "Osiedle_PU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public AkademikFacade() {
super(Akademik.class);
}
}
Mam nadzieję, że zastosowałem się do zasad forum i z góry dzięki za wyrozumiałość :p