Não cria a tebela no postgresql - Hibernate?

8 respostas Resolvido
java
W

Não estou conseguindo gerar minha tabela automaticamente no banco de dados postgresql, ja tenho o banco criado porem quando rodo a aplicação parece que tudo funciona mas a tebela não é criada

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.6.RELEASE)

2019-07-16 15:48:49.746  INFO 8116 --- [  restartedMain] com.produto.apirest.ApirestApplication   : Starting ApirestApplication on info2 with PID 8116 (E:\apirest\target\classes started by informatica01 in E:\apirest)
2019-07-16 15:48:49.749  INFO 8116 --- [  restartedMain] com.produto.apirest.ApirestApplication   : No active profile set, falling back to default profiles: default
2019-07-16 15:48:49.795  INFO 8116 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2019-07-16 15:48:49.795  INFO 8116 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2019-07-16 15:48:50.663  INFO 8116 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-07-16 15:48:50.686  INFO 8116 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 14ms. Found 0 repository interfaces.
2019-07-16 15:48:51.070  INFO 8116 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$351c52b5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-07-16 15:48:51.546  INFO 8116 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-07-16 15:48:51.581  INFO 8116 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-07-16 15:48:51.581  INFO 8116 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.21]
2019-07-16 15:48:51.717  INFO 8116 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-07-16 15:48:51.717  INFO 8116 --- [  restartedMain] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1922 ms
2019-07-16 15:48:51.870  INFO 8116 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2019-07-16 15:48:52.034  INFO 8116 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2019-07-16 15:48:52.074  INFO 8116 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
	name: default
	...]
2019-07-16 15:48:52.120  INFO 8116 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate Core {5.3.10.Final}
2019-07-16 15:48:52.121  INFO 8116 --- [  restartedMain] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2019-07-16 15:48:52.250  INFO 8116 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-07-16 15:48:52.378  INFO 8116 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL95Dialect
2019-07-16 15:48:52.493  INFO 8116 --- [  restartedMain] o.h.e.j.e.i.LobCreatorBuilderImpl        : HHH000421: Disabling contextual LOB creation as hibernate.jdbc.lob.non_contextual_creation is true
2019-07-16 15:48:52.497  INFO 8116 --- [  restartedMain] org.hibernate.type.BasicTypeRegistry     : HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@506a76e1
2019-07-16 15:48:52.647  INFO 8116 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-07-16 15:48:52.664  INFO 8116 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2019-07-16 15:48:52.851  INFO 8116 --- [  restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-07-16 15:48:52.890  WARN 8116 --- [  restartedMain] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-07-16 15:48:53.099  INFO 8116 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-07-16 15:48:53.101  INFO 8116 --- [  restartedMain] com.produto.apirest.ApirestApplication   : Started ApirestApplication in 3.659 seconds (JVM running for 4.038)

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

spring.datasource.url= jdbc:postgresql://localhost:5432/dbproduto
spring.datasource.username=postgres
spring.datasource.password=admin
spring.jpa.hibernate.ddl-auto=update

package com.produtos.apirest.model;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;


@Entity
@Table(name="TB_PRODUTO")
public class Produto implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private long id;
	
	@NotNull
	private String nome;
	
	@NotNull
	private BigDecimal quantidade;
	
	@NotNull
	private BigDecimal valor;
	
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public BigDecimal getQuantidade() {
		return quantidade;
	}
	public void setQuantidade(BigDecimal quantidade) {
		this.quantidade = quantidade;
	}
	public BigDecimal getValor() {
		return valor;
	}
	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}
	
	

}

8 Respostas

F

Poste também sua classe ApirestApplication.

Você habilitou o scan de entidades do Spring através da anotação @EntityScan?

W
package com.produto.apirest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApirestApplication {

	public static void main(String[] args) {
		SpringApplication.run(ApirestApplication.class, args);
	}

}
F
Solucao aceita

É isso!

Anote ela com @EntityScan.

A sintaxe é:

@EntityScan("caminho.da.pasta.das.suas.entidades")

W

Bom como sou um iniciante em spring estou perdidão, estou seguindo um tutorial no youtube na criação de uma API, pra que serve esse @EntityScan

F

O @EntityScan serve para indicar ao Spring onde estarão as classes de entidade. Assim, o Spring Data pode gerenciar elas.

Entity = entidade
Scan = escanear

Você pode imaginar ela como a anotação para escaneamento de entidades.

W

Cara era isso mesmo, muito obrigado, estou seguindo um tutorial no youtube e a pessoa não colocou esse @EntityScan, isso se tornou obrigatório em versões mais recentes ou não tem nada nada ave uma coisa com a outra?

F

Infelizmente isso eu não sei, will.

Mas é assim que eu sempre fiz, então… :man_shrugging:

W

Sensacional, muito obrigado mesmo cara :+1::+1:

Criado 16 de julho de 2019
Ultima resposta 16 de jul. de 2019
Respostas 8
Participantes 2