CREATE TABLE currency (
id bigint NOT NULL PRIMARY KEY,
entity_id VARCHAR(255) NOT NULL UNIQUE,
code VARCHAR(255),
name VARCHAR(255),
description VARCHAR(255),
denomination_code VARCHAR(255),
denomination_name VARCHAR(255),
denomination_description VARCHAR(255),
denomination_units integer,
status VARCHAR(255)
);
currency_pair的DDL
CREATE TABLE currency_pair (
id bigint NOT NULL PRIMARY KEY,
entity_id VARCHAR(255) NOT NULL UNIQUE,
code VARCHAR(50) NOT NULL,
name VARCHAR(250) NOT NULL,
description VARCHAR(500) NOT NULL,
base_currency_id VARCHAR(255) NOT NULL REFERENCES currency(entity_id),
quote_currency_id VARCHAR(255) NOT NULL REFERENCES currency(entity_id),
status VARCHAR(255),
);
我的实体类如下:-
货币实体-
@Entity
@Table(name = "currency")
public class Currency implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NaturalId
@Column(nullable = false)
private String entityId;
@Column(nullable = false)
private String code;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String description;
@Column(nullable = false)
private String denominationCode;
@Column(nullable = false)
private String denominationName;
@Column(nullable = false)
private String denominationDescription;
@Column(nullable = false)
private Integer denominationUnits;
@Column(nullable = false)
private String mask;
@Column(nullable = false)
private String status;
/* getters and setters */
}
@Entity
@Table(name = "currency_pair")
public class CurrencyPair implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NaturalId
@Column(nullable = false)
private String entityId;
@Column(nullable = false)
private String code;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String description;
@OneToOne
@JoinColumn(name = "base_currency_id", referencedColumnName = "entity_id")
private Currency baseCurrency;
@OneToOne
@JoinColumn(name = "quote_currency_id", referencedColumnName = "entity_id")
private Currency quoteCurrency;
@Column(nullable = false)
private String status;
/* Getters and setters */
}
注意:我无法更改ddl查询,那么我可以做什么来修复实体类
因为在currencypair
中有referencedColumnName=“entity_id”
,它与货币有关系。在货币中,名称是entityId,与Entity_ID不匹配。您可以在currency
中添加name属性,如下所示
改变
@NaturalId
@Column(nullable = false)
private String entityId;
至
@NaturalId
@Column(name = "entity_id", nullable = false)
private String entityId;
问题内容: 您好我的表格如下: 1- medical_company : account_entity* 表 account_entity_id 列上的medical_company_id 外键 (不是pk) *** 第1栏 专栏2 第三栏 2- account_entity : account_entity_id (pk) 第1栏 专栏2 第三栏 3 人同行: person_id (pk) 第1
有两个表。酒店内的地址。我已经提到了OneTo很多关系。但是编译器抛出错误。 创建名为entityManagerFactory的bean时出错,该bean在类路径资源[org/springFramework/boot/autoconfiure/orm/jpa/HibernateJpaConfiguration.class]中定义:调用init方法失败;嵌套异常org.hibernate.Mappi
问题内容: 我有5个表,每个表与下一个表有一对多的关系 。project_t-> project_level1_t-> project_level2_t-> project_level3_t-> project_level4_t 我想让用户hibernate这些表 和project_level1_t 和project_level2_t 这是存储库文件 和 和 但是当我运行我的应用程序时,出现此错误
我的服务类 和我的控制器类:
我在将OneToMany外键映射到复合主键时遇到问题。我已经尝试过很多解决方案,包括这个post@onetomany和复合主键?。 所以情况是: 因此,在Box实体中,我试图在Box和Color实体之间创建一个OneToMany映射。为此,我应该使用Color实体的复合主键吗?如果我试图将列连接到复合主键(就像我在Box实体中所做的那样),我确实会得到一个错误-无法定位逻辑列“locale”。 我
我正在处理遗留系统,需要从数据库中读取一些信息。下面是表格关系 供应商(vendorid-pk,vendorEid,name) VendorContactBridge(bridgeid-pk,vendorEid,contactEid) 联系人(contactid-pk,contactEid,phone) vendorEid和contactEid不是表的主键,但用作联接表VendoContactBr