да можно использовать два источника данных, один из которых является SQL, а другой - NOSQL.
Но я чувствую, что связь между двумя объектами невозможна, и это звучит неправильно.
Во всяком случае, я попробовал этот подход, при котором
Entity1.java: (SQL объект)
@Entity
@Table(name="ENTITY1")
public class Entity1 implements Serializable{
@Id
private long id;
}
Entity2.java: (NoSQL организация)
@Document(collection="test")
public class Entity2 implements Serializable{
@org.springframework.data.annotation.Id
private long Id;
//storing reference of entity1
@Field("Entity1REF")
private long entity1Id;
}
Entity1Repository:
public interface Entity1Repository extends JpaRepository<Entity1, Long>()
Entity2Repository:
public interface Entity2Repository extends MongoRepository<Entity2, Long>{
При выполнении операций CRUD на лицо:
использовать соответствующие операции РЕПО для выполнения.
@Autowired
private Entity1Repository entity1Rep;
@Autowired
private Entity2Repository entity2Rep;
public void init(){
Entity1 en1=new Entity1(100);
en1=entity1Rep.save(en1);
Entity2 en2=new Entity2(1000,en1.getId());
entity2Rep.save(en2);
}
Пожалуйста, пройти через этот проект попытался: https://github.com/BarathArivazhagan/Spring-MongoDB-Samples/tree/tree/Spring-Data-Mongo-SQL