salut,
je voudrais faire une jointure entre une table article ainsi une table famille_art,l'intarface dao de 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é 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;}
}
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
@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;}
}
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
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
est ce que quelqu'un a une idée? et merci d'avance.