@Transient is added by aspectj as far as I can remember for all fields with @GraphProperty
Perhaps you miss some of the ajc config? Michael Sent from mobile device Am 03.06.2014 um 18:30 schrieb [email protected]: > Update: > > By adding "@Transient" above the Collection name (followers) makes the > Exception go away. Not sure i should be using @Transient becuase don't see > any references to the annotation in the Manual or Spring Neo4 Example > (@GraphProperty should be enough). Now the Neo4J Property (followers) is not > being saved while JPA Properties do. > > On Tuesday, June 3, 2014 4:23:34 PM UTC+1, [email protected] wrote: >> >> I have a Jpa entity which also acts as a Neo4j cross store. Most of the >> fields in the entity are saved to Mysql database except the Collection >> 'followers', which is stored in Neo4j. The problem is with the Collection >> 'followers'. it throws the exception "hibernate MappingException: Could not >> determine type for: java.util.Set". A quick search yields a bunch of Jpa >> Related solutions (e.g. adding onetomany annotation to the field etc) which >> I assume is not relevant in this case because the collection is saved in >> Neo4j not Mysql. >> >> Stacktrace >> Caused by: org.hibernate.MappingException: Could not determine type for: >> java.util.Set, at table: game, for columns: >> [org.hibernate.mapping.Column(followers)] >> at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:314) >> at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:292) >> at org.hibernate.mapping.Property.isValid(Property.java:239) >> at >> org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:469) >> at org.hibernate.mapping.RootClass.validate(RootClass.java:270) >> at org.hibernate.cfg.Configuration.validate(Configuration.java:1303) >> at >> org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1761) >> at >> org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96) >> at >> org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) >> ... 16 more >> >> ------- >> @Entity >> @Table(name="game") >> @NodeEntity(partial = true) >> public class Game implements Serializable{ >> private static final long serialVersionUID = 1L; >> >> @RelatedTo(type="GAME", direction=Direction.INCOMING, elementClass = >> Account.class) >> @Fetch >> >> >> @GraphProperty >> private Set<Account> followers = new HashSet<Account>(); >> >> >> >> @Id >> @GeneratedValue(strategy=IDENTITY) >> @Column(name="game_id") >> private Long gameId; >> @Column(name="name",unique=true) >> private String name; >> .... >> >> //Accessors >> >> public Long getGameId() { >> return gameId; >> } >> >> >> >> public void setGameId(Long gameId) { >> this.gameId = gameId; >> } >> ... >> @Override >> public String toString(){ >> return "..."; >> } >> >> >> >> } >> >> Neo4j Config >> >> @Configuration >> >> @ComponentScan(basePackages={".."}) >> @EnableTransactionManagement(mode=AdviceMode.ASPECTJ) >> @EnableNeo4jRepositories(value={".."}) >> public class Neo4JConfig extends Neo4jConfiguration{ >> >> @Bean(destroyMethod = "shutdown") >> @Scope(SCOPE_PROTOTYPE) >> public SpringRestGraphDatabase graphDatabaseService(){ >> SpringRestGraphDatabase springRestGraphDatabase = new >> SpringRestGraphDatabase("http://localhost:7474/db/data"); >> return springRestGraphDatabase; >> >> } >> @Bean >> public Neo4jTemplate neo4jTemplate(){ >> return new Neo4jTemplate((GraphDatabase) graphDatabaseService()); >> } >> >> @Bean >> public Neo4jMappingContext neo4jMappingContext() { >> return new Neo4jMappingContext(); >> } >> } > > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
