相关疑难解决方法(0)

Hibernate应该能够处理重叠的外键吗?

我有一个表有两个外键到两个不同的表,两个外键共享一列:

CREATE TABLE ZipAreas
(
  country_code CHAR(2) NOT NULL,
  zip_code VARCHAR(10) NOT NULL,
  state_code VARCHAR(5) NOT NULL,
  city_name VARCHAR(100) NOT NULL,
  PRIMARY KEY (country_code, zip_code, state_code, city_name),
  FOREIGN KEY (country_code, zip_code) REFERENCES Zips (country_code, code),
  FOREIGN KEY (country_code, state_code, city_name) REFERENCES Cities (country_code, state_code, name)
)
Run Code Online (Sandbox Code Playgroud)

如您所见,有两个FK共享country_code(巧合地引用了引用路径末尾的同一列).实体类看起来像(JPA 1.0 @IdClass):

@Entity
@Table(name = "ZipAreas")
@IdClass(value = ZipAreaId.class)
public class ZipArea implements Serializable
{
    @Id
    @Column(name = "country_code", insertable = false, updatable = false)
    private String countryCode;

    @Id
    @Column(name = …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa foreign-keys composite-key overlapping

10
推荐指数
3
解决办法
9208
查看次数

使用OR条件而不是AND条件连接列的注释

我有2个Java类,Relation并且Person,它们都存在于我的数据库.

人:

@Entity
@Table(name = "persons")
public class Person {
    @Id
    @Column
    private int id;

    @Column
    private String name;

    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumns({
        @JoinColumn(name = "slave_id", referencedColumnName="id"),
        @JoinColumn(name = "master_id", referencedColumnName="id")
    })
    private List<Relation> relations;

    //Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

关系:

@Entity
@Table(name = "relations")
public class Relation {
    @Id
    @Column
    private int id;

    @Column
    private int child_id;

    @Column
    private int parent_id;

    @Column
    private String type;

    //Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

每个Person都有一个关系列表(或不关系),当关系的child_id或parent_id等于person的id时,应该将关系添加到列表中.

TL; DR:当relation.child_id OR relation.parent_id = …

java hibernate joincolumn or-condition

7
推荐指数
1
解决办法
1606
查看次数

如何使用Hibernate <subselect>:

我是hibernate的新手.我需要了解以下问题:

(1)什么是hibernate映射中的subselect?

(2)如何在hbm文件中映射subselect?

(3)如果我使用subselect检索值,那么如何在java Action类中获取检索到的值.

hibernate

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