Ich bin neu in Spring (4.2.5) und JPA und ich habe Probleme mit @PostConstruct konfrontiert. In meinem Projekt habe ich Repositories und ich bin insertng Daten, die sie von @PostConstruct mit und innerhalb init-Methode ..Spring JPA-Repositorys @PostConstruct
@PostConstruct
public void init(){
Role roleUser = new Role();
roleUser.setName("ROLE_USER");
roleRepository.save(roleUser);
Role roleAdmin = new Role();
roleAdmin.setName("ROLE_ADMIN");
roleRepository.save(roleAdmin);
}
ich alle Repositories in applicationContext.xml bin Initialisierung
durch den Aufruf<context:component-scan base-package="com.shiva.controller">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<context:annotation-config/>
<jpa:repositories base-package="com.shiva.repository" entity-manager-factory-ref="emf" />
Aber in Logs Tabellen werden erstellt, aber das Problem ist die INSERT-Anweisung wird nicht aufgerufen und ich könnte bezweifeln, dass diese Init-Methode aufgerufen wird.
Dies sind die Protokolle für das Erstellen von Tabellen, aber ich bin nicht Einfügeanweisungen bekommen, was ich von applicationContext.xml genannt ...
Hibernate: drop table if exists Blog
Hibernate: drop table if exists Item
Hibernate: drop table if exists Role
Hibernate: drop table if exists Role_User
Hibernate: drop table if exists User
Hibernate: drop table if exists User_Role
Hibernate: create table Blog (id integer not null auto_increment, name varchar(255), url varchar(255), user_id integer, primary key (id))
Hibernate: create table Item (id integer not null auto_increment, description varchar(255), link varchar(255), published_date datetime, title varchar(255), blog_id integer, primary key (id))
Hibernate: create table Role (id integer not null auto_increment, name varchar(255), primary key (id))
Hibernate: create table Role_User (Role_id integer not null, users_id integer not null)
Hibernate: create table User (id integer not null auto_increment, email varchar(255), name varchar(255), password varchar(255), primary key (id))
Hibernate: create table User_Role (User_id integer not null, roles_id integer not null)
Können Sie bitte dieses Problem Blick in? Danke im Voraus !!
Can Sie fügen ein Sysout in Ihrer postConstruct-Methode hinzu und sehen, ob diese Methode überhaupt aufgerufen wird oder nicht? –
Ich habe syso in der Methode mit @postConstruct annotiert und es wird nicht aufgerufen :( – shiva