salut,
je voudrais faire une jointure entre une table article ainsi une table famille_art,l'intarface dao de l'entité article:
l'entité article:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @RepositoryRestResource public interface ArticleRepository extends JpaRepository<Article, Integer>{ @RestResource(path="/artfamille") @Query("SELECT d FROM Article e INNER JOIN FamilleArt d" ) public List<Article> jointArtFamille(); }
l'entité famille_article:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 @Entity @NamedQuery(name="Article.findAll", query="SELECT a FROM Article a") public class Article implements Serializable {private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id_article")private int idArticle; @Column(name="code_article")private String codeArticle; @Column(name="id_famille", insertable = false, nullable = false, updatable = false)private int idFamille; @Column(name="lib_article")private String libArticle; @Column(name="pu_ht")private double puHt; @ManyToOne @JoinTable(name = "famille_art",joinColumns = { @JoinColumn(name = "id_famille", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "id_famille", nullable = false, updatable = false) }) private FamilleArt familleArt; public FamilleArt getFamilleArt() { return familleArt; } public void setFamilleArt(FamilleArt familleArt) { this.familleArt = familleArt; } public Article() {} public int getIdArticle() { return this.idArticle;} public void setIdArticle(int idArticle) { this.idArticle = idArticle;} public String getCodeArticle() { return this.codeArticle;} public void setCodeArticle(String codeArticle) { this.codeArticle = codeArticle;} public int getIdFamille() { return this.idFamille;} public void setIdFamille(int idFamille) { this.idFamille = idFamille;} public String getLibArticle() { return this.libArticle;} public void setLibArticle(String libArticle) { this.libArticle = libArticle;} public double getPuHt() { return this.puHt;} public void setPuHt(double puHt) { this.puHt = puHt;} }
et voila le résultat de la compilation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 @Entity @Table(name="famille_art") @NamedQuery(name="FamilleArt.findAll", query="SELECT f FROM FamilleArt f") public class FamilleArt implements Serializable {private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id_famille", nullable = false, updatable = false)private int idFamille; @Column(name="id_parent")private int idParent; @Column(name="lib_famille")private String libFamille; @OneToMany( mappedBy = "familleArt" ) private List<Article> article; public List<Article> getArticle() { return article; } public void setArticle(List<Article> article) { this.article = article; } public FamilleArt() {} public int getIdFamille() { return this.idFamille;} public void setIdFamille(int idFamille) { this.idFamille = idFamille;} public int getIdParent() { return this.idParent;} public void setIdParent(int idParent) { this.idParent = idParent;} public String getLibFamille() { return this.libFamille;} public void setLibFamille(String libFamille) { this.libFamille = libFamille;} }:
est ce que quelqu'un a une idée? et merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-03-08 13:29:42.918 ERROR 16868 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: com.nor.stockmanager.ent.Article column: id_famille (should be mapped with insert="false" update="false") at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1153) ~[spring-context-5.3.4.jar:5.3.4] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:907) ~[spring-context-5.3.4.jar:5.3.4] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:582) ~[spring-context-5.3.4.jar:5.3.4] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[spring-boot-2.4.3.jar:2.4.3] at com.nor.stockmanager.WebserviceGetsionstockApplication.main(WebserviceGetsionstockApplication.java:33) ~[classes/:na] Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: com.nor.stockmanager.ent.Article column: id_famille (should be mapped with insert="false" update="false") at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.4.jar:5.3.4] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.4.jar:5.3.4] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[spring-beans-5.3.4.jar:5.3.4] ... 17 common frames omitted
Partager