我有一个现有的表(让我们调用这个Tickets),我需要与另一个数据库中的表有多对一的关系(让我们调用这个Transaction)。我知道在JPA中建立多对一关系是不可能的,但我要找的是连接这两个表而不诉诸JPA。此外,将这些表合并到一个db不是一个选项(根据客户端请求)。
我在这里不知所措。
答案 0 :(得分:0)
在JPA中拥有ManyToOne关系并非不可能。这里有一个例子:
https://en.wikibooks.org/wiki/Java_Persistence/ManyToOne
关于如何使用两个数据库中的表来解决您的特定问题,您可以使用两个不同的数据源,或一个数据库上的视图,指向另一个数据库上的表。选择主要取决于您尝试连接的数据库的性质。
答案 1 :(得分:0)
扩展这个答案(As of yesterday the dagger.android
Android helpers are released in version 2.10-rc1)我认为您需要做以下事情:
public class Schemas {
public static final String S1D="S1D";
public static final String S2D="S2D";
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "Tickets", schema=Schemas.S1D)
public class Tickets {
@ManyToOne
@JoinColumn(name = "transaction_id")
private Transaction transaction;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "Transaction", schema=Schemas.S2D)
public class Transaction {
...
}