org.neo4j.ogm.exception.MappingException: Error mapping GraphModel to instance of ***.ProjectGraph

實例化知識圖譜對象ProjectGraph.java 提示如下截圖錯誤信息:

 Exception in thread "main" org.neo4j.ogm.exception.MappingException: Error mapping GraphModel to instance of <package>.ProjectGraph
    at org.neo4j.ogm.context.GraphEntityMapper.mapEntities(GraphEntityMapper.java:145)
    at org.neo4j.ogm.context.GraphEntityMapper.map(GraphEntityMapper.java:117)
    at org.neo4j.ogm.context.GraphEntityMapper.map(GraphEntityMapper.java:81)
    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.executeAndMap(ExecuteQueriesDelegate.java:111)
    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:82)
    at org.neo4j.ogm.session.Neo4jSession.query(Neo4jSession.java:323)

Caused by: org.neo4j.ogm.exception.MappingException: Unable to instantiate class <package>.ProjectGraph
    at org.neo4j.ogm.annotations.EntityFactory.instantiate(EntityFactory.java:137)
    at org.neo4j.ogm.annotations.EntityFactory.instantiateObjectFromTaxa(EntityFactory.java:110)
    at org.neo4j.ogm.annotations.EntityFactory.newObject(EntityFactory.java:61)
    at org.neo4j.ogm.context.GraphEntityMapper.mapNodes(GraphEntityMapper.java:156)
    at org.neo4j.ogm.context.GraphEntityMapper.mapEntities(GraphEntityMapper.java:142)
    ... 7 more
Caused by: java.lang.NoSuchMethodException: <package>.ProjectGraph.<init>()
    at java.lang.Class.getConstructor0(Class.java:3082)
    at java.lang.Class.getDeclaredConstructor(Class.java:2178)
    at org.neo4j.ogm.annotations.EntityFactory.instantiate(EntityFactory.java:133)
    ... 11 more

造成的原因:ProjectGraph.java 需要沒有任何屬性的構造函數,補全ProjectGraph 沒有任何屬性的構造函數。

ProjectGraph.java 錯誤代碼:


import java.util.List;

import org.neo4j.ogm.annotation.GraphId;
import org.neo4j.ogm.annotation.NodeEntity;
import org.neo4j.ogm.annotation.Relationship;

/**
 * 單位工程圖譜對象
 * 
 *
 */
@NodeEntity
@SuppressWarnings("serial")
public class ProjectGraph implements java.io.Serializable{
	@GraphId
	private Long id;
	private String name;
	private String sid;
	
	@Relationship(type = "IndividualLicenseRelation")
	private List<LicenseGraph> licenses;
	
	@Relationship(type = "IndividualResponRelation")
	private List<ResponGraph> respons;
	
	@Relationship(type = "IndividualUnitRelation")
	private List<UnitGraph> units;
	
	//set 和 get 方法
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSid() {
		return sid;
	}
	public void setSid(String sid) {
		this.sid = sid;
	}

	public List<LicenseGraph> getLicenses() {
		return licenses;
	}
	public void setLicenses(List<LicenseGraph> licenses) {
		this.licenses = licenses;
	}
	public List<ResponGraph> getRespons() {
		return respons;
	}
	public void setRespons(List<ResponGraph> respons) {
		this.respons = respons;
	}
	public List<UnitGraph> getUnits() {
		return units;
	}
	public void setUnits(List<UnitGraph> units) {
		this.units = units;
	}
	
	public ProjectGraph(String name, String sid) {
		this.name = name;
		this.sid = sid;
	}
	
}

ProjectGraph.java 修正後的代碼:


import java.util.List;

import org.neo4j.ogm.annotation.GraphId;
import org.neo4j.ogm.annotation.NodeEntity;
import org.neo4j.ogm.annotation.Relationship;

/**
 * 單位工程圖譜對象
 * 
 *
 */
@NodeEntity
@SuppressWarnings("serial")
public class ProjectGraph implements java.io.Serializable{
	@GraphId
	private Long id;
	private String name;
	private String sid;
	
	@Relationship(type = "IndividualLicenseRelation")
	private List<LicenseGraph> licenses;
	
	@Relationship(type = "IndividualResponRelation")
	private List<ResponGraph> respons;
	
	@Relationship(type = "IndividualUnitRelation")
	private List<UnitGraph> units;
	
	//set 和 get 方法
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSid() {
		return sid;
	}
	public void setSid(String sid) {
		this.sid = sid;
	}

	public List<LicenseGraph> getLicenses() {
		return licenses;
	}
	public void setLicenses(List<LicenseGraph> licenses) {
		this.licenses = licenses;
	}
	public List<ResponGraph> getRespons() {
		return respons;
	}
	public void setRespons(List<ResponGraph> respons) {
		this.respons = respons;
	}
	public List<UnitGraph> getUnits() {
		return units;
	}
	public void setUnits(List<UnitGraph> units) {
		this.units = units;
	}
	// 構造函數
	public ProjectGraph() {
		super();
	}

	public ProjectGraph(String name, String sid) {
		this.name = name;
		this.sid = sid;
	}
	
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章