Tenho a seguinte estrutura:
1 - Projeto XXXX - Model , onde tem as entidades do COR
Projeto Maven , e contem o arquivo persistence.xml
com todas as entidades do projeto, e por exemplo tenho essa entidade
@Entity
@Table(name = "empresa", schema = "cadastro")
@ALL
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonIdentityInfo(generator = JSOGGenerator.class)
public class Empresa extends AuthAuditable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Size(max = 255)
@Column(name = "razao_social")
private String razaoSocial;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "nome_fantasia")
private String nomeFantasia;
@Size(max = 20)
@Column(name = "telefone")
private String telefone;
// @Pattern(regexp="^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$", message="Invalid phone/fax format, should be as xxx-xxx-xxxx")//if the field contains phone or fax number consider using this annotation to enforce field validation
@Size(max = 20)
@Column(name = "fax")
private String fax;
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
@Size(max = 50)
@Column(name = "email")
private String email;
@Size(max = 255)
@Column(name = "endereco")
private String endereco;
@JoinColumn(name = "municipio_ibge_id", referencedColumnName = "id")
@ManyToOne
private MunicipioIbge municipioIbge;
... Getter e Setter
2 - Crie uma API, utilizando SPRING BOOT, com a seguinte caracteristicas :
-
No POM, inclui a dependencia do Projeto XXXX
<dependency> <groupId>br.com.xxxxxx</groupId> <artifactId>xxxxxxx-model</artifactId> <version>0.4</version> </dependency>
Segue abaixo a minha entidade :
@Entity
@Table(name = "cartao")
public class Cartao implements Serializable {
/**
*
*/
private static final long serialVersionUID = -7332367273991883359L;
@Id
@SequenceGenerator(name = "cartao_id", sequenceName = "cartao_seq", initialValue = 1, allocationSize = 1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "cartao_id")
private Long id;
@Column
private String descricao;
@JoinColumn(name = "empresa_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private Empresa empresa;
... Getter e Setter
- Tenho o arquivo application.properties, configurado o banco de dados
Porém quando executo meu projeto spring Boot , esta dando erro abaixo
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.xx.Cartao.empresa references an unknown entity: br.xxx.model.cadastro.Empresa
at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:97) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processEndOfQueue(InFlightMetadataCollectorImpl.java:1827) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processFkSecondPassesInOrder(InFlightMetadataCollectorImpl.java:1771) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1658) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:287) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:904) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:935) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) ~[spring-orm-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:390) ~[spring-orm-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377) ~[spring-orm-5.1.3.RELEASE.jar:5.1.3.RELEASE]