我有两张桌子:Ta和Tb.它们具有完全相同的表结构但不同的表名.
我尝试创建一个实体类来映射表结构.我的一些常见应用程序模块将使用此实体类来动态查询和更新任何一个Ta或Tb基于参数.可以在JPA中完成吗?如何编写程序以在运行时将实体类动态映射到不同的表?
我有一个实体 - User.它由描述User.class.
Hibernate为每个实体创建一个表,所以当我调用时session.save(user),我的数据总是保存到该表中.
现在我需要另一个表来表示相同User类型的数据,我需要将我的实体保存到该表中.
数据结构(类似这样):
table users_1_table{
string id;
string username;
}
table users_2_table{
string id;
string username;
}
Run Code Online (Sandbox Code Playgroud)
使用这个:
session.save(user1,"users_1_table")
session.save(user2,"users_2_table")
Run Code Online (Sandbox Code Playgroud)
和结果,我应该user1在users_1_table和user2 中users_2_table.
由于系统限制,我不能将这两个对象放在一个表中.(即使创建额外的字段也是个坏主意).
我可以在没有子类化的情况下这样做吗?使用programmaticaly hibernate配置?
我目前仍然坚持看似非常简单的问题,但我似乎无法找到方法:
我有2个相同的表:
两者中的字段是相同的,我有一个类 - Transaction用于表示表中的所有适当字段.
我正在尝试将两个不同的实体(每个表一个)映射到上面的类.在旧世界中,我已经创建了两个hbm.xml文件,每个文件对应一个表并将它们映射到Transaction.然后,我将在持久性期间使用实体名称,以确保对象在正确的表中持久化,具体取决于具体情况.
我正在尝试使用当前的注释来实现相同的目标但到目前为止在将2个实体映射到单个类时没有运气.这有可能吗?
我目前正在使用不同的方法,因为我已经将所有公共字段(相同的列名称)提取到一个@MappedSuperClass并且已经创建了两个单独的类(每个实体一个)从超类扩展(这些类只有相同的具有不同列名的字段(如果适用).