相关疑难解决方法(0)

JPA:实现模型层次结构 - @MappedSuperclass与@Inheritance

我正在使用Play Framework 1.2.4 PostgreSQLJPA.我想有一个Model层次结构,看看有一些替代方法可以做到这一点.

我有一个基类(这是抽象的)和两个扩展这个基类的具体类.我想要拥有具体的类,我不想坚持这个基类.在基类中,我有另一个Model类作为属性,换句话说,我@ManyToOne在我的基类中有关系.

我的问题是实现这个的最佳方法是什么?使用@MappedSuperclass@InheritanceTABLE_PER_CLASS策略?我有点困惑,因为它们看起来几乎相同.

我对将来可能面临的查询和性能问题也有一些担忧.

java orm inheritance hibernate jpa

59
推荐指数
2
解决办法
3万
查看次数

Room数据库中具有相同类型对象的多个表

我正在使用Room作为应用程序的数据库.我有一个场景,其中Object某种类型需要存储在单独的表中.举个例子,让我们来Object看看Book.java

现在,我想要两个SQL表:

  • Books_Read
  • Books_To_Read

请忽略SQL DB的任何命名约定 - 这只是一个例子

问题

通常,人们只会@Entity(tableName = "Books_Read")Book.java类中使用并拥有一个DAO将使用该表名的类.

事情是; 那么我怎么能够使用相同的Book.java类来存储在Books_To_Read表中?因为我已经定义@Entity(tableName = "Books_Read")Book.java类的一部分,我看不到在哪里定义类的Books_To_ReadBook.java

我能够提出的唯一解决方案是创建一个新类 - 让我们称之为在类BookToRead.java 中扩展Book.java和定义@Entity(tableName = "Books_To_Read")的新类.

有没有更好的方法来做到这一点,或者这是处理它的预期方法?

sql database android database-design android-room

20
推荐指数
1
解决办法
1万
查看次数

如何使用hibernate/jpa注释将一个类映射到不同的表

我目前仍然坚持看似非常简单的问题,但我似乎无法找到方法:

我有2个相同的表:

  1. tbl_creditcard_approved_txns
  2. tbl_creditcard_declined_txns

两者中的字段是相同的,我有一个类 - Transaction用于表示表中的所有适当字段.

我正在尝试将两个不同的实体(每个表一个)映射到上面的类.在旧世界中,我已经创建了两个hbm.xml文件,每个文件对应一个表并将它们映射到Transaction.然后,我将在持久性期间使用实体名称,以确保对象在正确的表中持久化,具体取决于具体情况.

我正在尝试使用当前的注释来实现相同的目标但到目前为止在将2个实体映射到单个类时没有运气.这有可能吗?

我目前正在使用不同的方法,因为我已经将所有公共字段(相同的列名称)提取到一个@MappedSuperClass并且已经创建了两个单独的类(每个实体一个)从超类扩展(这些类只有相同的具有不同列名的字段(如果适用).

java orm annotations hibernate jpa

11
推荐指数
1
解决办法
3万
查看次数

Hibernate 和具有相同数据/列但具有不同表名的表

我正在使用的数据库有许多具有相同列的表,但具有(显然)不同的表名(我没有设计它)。例如(这些是数据库表名称):

company1Data
company2Data
company3Data
etc.
Run Code Online (Sandbox Code Playgroud)

是否可以使用 JPA 和 hibernate 将这些映射到一个 Java 类实体?类的名称是Data,然后在使用它时传入例如company1某个地方,以便对象可以使用该company1Data表?

或者对于这样的事情使用普通的、普通的 Java 对象是否更好?

谢谢你!

java database persistence hibernate jpa

5
推荐指数
1
解决办法
6780
查看次数

将两个相同的表(相同的模式...)映射到Hibernate中的同一个实体

我有table1和table2具有相同的模式...我想只有一个实体而不是两个(因为字段将是相同的).我如何在使用XML映射的hibernate中实现这一点.所以我的目标是当我在DAO中查询时,如果两个表都映射到同一个实体,它将如何知道要从哪个表中获取.

我试图不创建父类,然后创建两个子类.

谢谢

java hibernate

4
推荐指数
1
解决办法
1万
查看次数