i'm using spring boot , mysql. followed this link setting , i'm able connect mysql , read/write data. there 1:n-relationship , i'm not able save entities of many side:
@entity public class onesideofrelationship { @id @generatedvalue(strategy = generationtype.auto) private long oneid; private string sometext; @onetomany(mappedby="oneid") private list<manysideofrelationship> manyside; [constructor / getter / setter] } @entity public class manysideofrelationship { @id @generatedvalue(strategy = generationtype.auto) private long manyid; @manytoone(targetentity=onesideofrelationship.class) @joincolumn private long oneid; private string somemoretext; [constructor / getter / setter] } @transactional public interface onedao extends crudrepository<onesideofrelationship, long> {} @transactional public interface manydao extends crudrepository<manysideofrelationship, long> {} if in controller:
[...] @autowired @private manysideofrelationship manydao; [...] manysideofrelationship many = new manysideofrelationship(); many.setoneid(1l); many.setsomemoretext("text"); manydao.save(many); [...] i got:
org.springframework.orm.jpa.jpasystemexception: not field value reflection getter of com.package.database.onesideofrelationship.oneid; nested exception org.hibernate.propertyaccessexception: not field value reflection getter of com.package.database.onesideofrelationship.oneid out of application.properties:
spring.datasource.url = jdbc:mysql://myurl:myport/mydatabase spring.datasource.username = myusername spring.datasource.password = mypassword spring.jpa.hibernate.ddl-auto = update spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.improvednamingstrategy spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.mysql5dialect and out of pom.xml
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-jpa</artifactid> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> hope has idea.
the oneid must datatype of onesideofrelationship not long.
@manytoone(targetentity=onesideofrelationship.class) @joincolumn private onesideofrelationship oneid;
Comments
Post a Comment