相关疑难解决方法(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万
查看次数

MappedSuperclass - 在子类中更改SequenceGenerator

我正在使用JPA2和Hibernate,并尝试为我的实体引入一个公共基类.到目前为止看起来像这样:

@MappedSuperclass
public abstract class BaseEntity {

    @Id
    private Long id;

    @Override
    public int hashCode() {
        // ...
    }

    @Override
    public boolean equals(Object obj) {
        // ...
    }

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,对于每个表都有一个$entityname_seq我想用作序列生成器的序列.如何从我的子类中设置它?我想我需要覆盖@GeneratedValue并使用@SequenceGenerator创建一个新的SequenceGenerator.

java jpa sequence java-ee mappedsuperclass

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

是否可以在JPA持久性单元中定义一个名为的重复生成器?

我的情况在这里描述:

eclipse在此持久性单元中定义的名为"ID_GENERATOR"的重复生成器

但是我的问题是不同的,所选答案并没有解决它:

" 有多个@SequenceGenerator 具有相同的名称是否有效,即使它用于此目的Hibernate:如何覆盖映射超类的属性 "

如果无效,还有替代方案吗?

非常感谢您的回答.

java orm hibernate jpa hibernate-mapping

8
推荐指数
1
解决办法
6052
查看次数

用于java扩展类的Hibernate注释映射

我正在开发一个Spring Hibernate项目,我有三个类 BaseEntity,Person&Owner.

Person延伸BaseEntity,Owner延伸Person.

BaseEntity.java

public class BaseEntity {

    private Integer id;

        Getters & Setters 
Run Code Online (Sandbox Code Playgroud)

Person.java

public class Person extends BaseEntity {

    private String firstName;

    private String lastName;

       Getters & Setters 
Run Code Online (Sandbox Code Playgroud)

Owner.java

@Entity
@Table(name="OWNERS")
public class Owner extends Person {

    @Column(name="ADDRESS")
    private String address;

    @Column(name="CITY")
    private String city;

    @Column(name="TELEPHONE")
    private String telephone;

    Getter and Setters
Run Code Online (Sandbox Code Playgroud)

现在我想在一个表中映射三个类的所有属性Owner.任何人都可以帮我,我该如何映射?

我有一个基于xml的映射,我希望在注释中执行此操作

<class name="org.springframework.samples.petclinic.Owner" table="owners">
        <id name="id" column="id">
            <generator class="identity"/>
        </id> …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa hibernate-mapping java-ee

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