CREATE TABLE status (
code VARCHAR(40),
status ENUM('not started', 'in progress', 'finished')
);
insert into status (code, status)
values (1, 'not started'),
(2, 'in progress'),
(3, 'finished');
CREATE TABLE `explorer` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`create_date` datetime DEFAULT NULL,
`query` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`title` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`status_id` int DEFAULT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (status_id) REFERENCES status(code)
) ENGINE=MyISAM AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
@Entity
@Table(name = "explorer", schema = "parsebeandeveloper", catalog = "")
public class ExplorerEntity {
private long id;
private Timestamp createDate;
private String query;
private String title;
private Integer statusId;
@Id
@Column(name = "id")
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Basic
@Column(name = "create_date")
public Timestamp getCreateDate() {
return createDate;
}
public void setCreateDate(Timestamp createDate) {
this.createDate = createDate;
}
@Basic
@Column(name = "query")
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
@Basic
@Column(name = "title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Basic
@Column(name = "status_id")
public Integer getStatusId() {
return statusId;
}
public void setStatusId(Integer statusId) {
this.statusId = statusId;
}
}
>
状态:
@Entity
@Table(name = "status", schema = "parsebeandeveloper")
public class StatusEntity {
private Integer code;
private Object status;
@Basic
@Column(name = "code")
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
@Basic
@Column(name = "status")
public Object getStatus() {
return status;
}
public void setStatus(Object status) {
this.status = status;
}
}
我在控制台得到的是:
FOREIGN KEY (status_id) REFERENCES status(code)
或在创建类EntityStatus
时
在这种情况下,如何正确创建status
实体或在表之间创建引用?
Hibernate抱怨它无法映射StatusEntity.Status
,因为它被声明为Object
类型。
您可以将其更改为string
类型,Hibernate应该能够将其映射到数据库枚举类型。
您还可以对status
字段使用Java枚举,并让hibernate使用@enumerated
注释映射它。
问题内容: 我正在做一个简单的投票系统。我有2张桌子: :ID,姓名,姓氏 :ID,投票(布尔值),VoterID(实际上是),PersonID(实际上也是)。 我需要能够使用表中存储的人员来 满足* 这两个需求,从而确定 谁 进行投票以及 谁进行投票 。该表包含可以“投票”以及“被投票”的用户的用户详细信息。人们可以决定是否要为自己投票。 * 我已经将表映射到我的对象中,如下所示: 人 投票 错
我有两个域模型:“UserBean”和“LoginBean”。这是一个一对多的关系,一个用户有很多登录记录。LoginBean.userid是UserBean.id的外键。以下是数据库的DDL: 以及: 当我运行应用程序时,我得到一条消息:< code >实体映射中的重复列:LoginBean列:user_id(应使用insert="false" update="false)进行映射)但是我检查了
问题内容: 我是使用Maven和JBOSS处理JPA的初学者,通过Restful使我的应用程序出现以下问题,我在进行DEPLOY 不是那一步,检查所有posles解决方案,但是没有找到任何东西,有人可以帮我吗? 提前致谢 下面,我显示了我已经完成映射的postgres中的SQL代码。 我有三个表( 活动 , 事件 和 照片 ),其中一个表( 照片 )引用了另外两个表( 活动 和 事件 ),但是在一
我正在使用swagger-codemen-maven-plugin(2.2.1)从YML配置生成java和打字代码类文件。我有两个问题。 如何在YML中定义枚举属性数组? 如何在YML中定义map属性枚举为key,布尔值为value? 让我知道这是可能的还是有任何解决办法?目前,我在java和typescrtipt中定义了enum类,并将其作为字符串传递。谢谢 招摇过市枚举文件 地图物业 更新:
实体类如下: 是否有任何方法可以将实体中的Transstatus列映射到枚举的整数值,即状态代码,例如,如果我有枚举值作为NOT_FOUND实体中的Transstatus值应该是12, 编辑请注意,我有两个枚举状态码的值,状态码字符串,我们想要的只是状态码,我们已经用“Ordinal”尝试过了,它打印枚举的整数值,而不是我示例中的状态码