当前位置: 首页 > 知识库问答 >
问题:

Spring在表中使用错误的引用创建自己的列

池永长
2023-03-14

我在<code>Spring</code>和<code>PostgreSQL</code>之间的“通信”方面有问题。

我的类<code>User.java</code>:

public static final String TABLE_NAME = "USERS";
public static final String SEQENCE = "USERS_SEQ";

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQENCE)
@SequenceGenerator(name = SEQENCE, sequenceName = SEQENCE, allocationSize = 1)
private Long userId;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "department_id")
private Department department;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "organizazion_id")
private Organization organization;

USERS创建表脚本:

CREATE TABLE IF NOT EXISTS USERS (
    USER_ID BIGINT NOT NULL, 
    DEPARTMENT_ID BIGINT,
    ORGANIZATION_ID BIGINT,
    PRIMARY KEY (USER_ID),
    FOREIGN KEY (DEPARTMENT_ID) REFERENCES DEPARTMENT(DEPARTMENT_ID),
    FOREIGN KEY (ORGANIZATION_ID) REFERENCES ORGANIZATION(ORGANIZATION_ID)
);

类Department.java

public static final String TABLE_NAME = "DEPARTMENT";
public static final String SEQENCE = "DEPARTMENT_SEQ";

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQENCE)
@SequenceGenerator(name = SEQENCE, sequenceName = SEQENCE, allocationSize = 1)
private Long departmentId;
private String departmentName;
.
.
. //Some other columns of primitive types about department..

部门创建表脚本:

CREATE TABLE IF NOT EXISTS DEPARTMENT (
    DEPARTMENT_ID BIGINT NOT NULL, 
    DEPARTMENT_NAME VARCHAR(50),
    PRIMARY KEY (DEPARTMENT_ID)
);

班级Organization.java

public static final String TABLE_NAME = "ORGANIZATION";
public static final String SEQENCE = "ORGANIZATION_SEQ";

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQENCE)
@SequenceGenerator(name = SEQENCE, sequenceName = SEQENCE, allocationSize = 1)
private Long organizationId;
private String organizationName;
private String street;
private String postalCode;
private String state;
private String city;

为< code >组织创建表脚本:

CREATE TABLE IF NOT EXISTS ORGANIZATION (
    ORGANIZATION_ID BIGINT NOT NULL, 
    ORGANIZATION_NAME VARCHAR(50),
    STREET VARCHAR(255),
    POSTAL_CODE VARCHAR(50),
    STATE VARCHAR(255),
    CITY VARCHAR(255),
    PRIMARY KEY (ORGANIZATION_ID)
);

当我运行程序时,SpringPostgreSQL 中创建“own”列,它看起来像:

USER_ID, DEPARTMENT_ID, ORGANIZATION_ID, DEPARTMENT_DEPARTMENT_ID, ORGANIZATION_ORGANIZATION_ID

怎么修啊?应该是没有立柱的

DEPARTMENT_DEPARTMENT_ID, ORGANIZATION_ORGANIZATION_ID

注释 @Column(名称 = “column_name”) 不能在此处使用。

共有1个答案

扶杜吟
2023-03-14

作为连接列,您可以引用另一个类中的属性:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQENCE)
@SequenceGenerator(name = SEQENCE, sequenceName = SEQENCE, allocationSize = 1)
private Long userId;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "departmentId")
private Department department;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "organizazionId")
private Organization organization;
 类似资料:
  • 问题内容: 我正在为面向iPhone的站点在烧瓶中构建基本的CMS,但在某些方面遇到了一些麻烦。我有一个非常小的数据库,只有1个表(页面)。这是模型: 如您所见,对于子页面,它们仅引用字段中的另一个页面对象。我要在管理面板中执行的操作是将所有页面嵌套在其父页面中的嵌套无序列表。我对如何执行此操作几乎一无所知。我所能想到的是以下内容(只能正常工作(也许- 我尚未测试过)2级): 然后,我将其格式化为

  • 我尝试通过将hibernate.hbm2ddl.auto设置为“create”来使用JPA自动创建Oracle表。其中一个实体字段是布尔类型的,在Java中如下所示: 但是,当我们运行它时,会抛出一个错误,当我看到错误时,生成的sql类型是布尔型的,而不是数字型的(1)。我使用Hibernate 4.1.9和Oracle XE(文件:oraclexe112_win32.zip)。

  • 我试图创建自己的类型,在这些类型上我可以使用调用函数。 我如何创建自己的类型并像普通类型一样使用它们?我知道接口也不工作,但这是我的第一个猜测。

  • 我将遵循“Pro Spring Boot”一书中的“扩展Spring Boot应用程序”一章。在本章中,作者首先解释如何创建自己的spring boot starter-。源代码可以在这里找到。我对maven和spring都是新手。 如果我使用与编写器1.3.3相同的Spring启动版本,它可以正常工作。释放。但是它不适用于当前版本的Spring引导,我想让它适用于当前版本。 基本文件夹结构: 当

  • 本文向大家介绍创建自己的jquery表格插件,包括了创建自己的jquery表格插件的使用技巧和注意事项,需要的朋友参考一下 在模仿easyui的dataGrid表格插件的同时,自己去封装了一个。实现了基本的json数据的动态加载,自动分页,全选全不选,鼠标悬浮变色,隔行变色等 由于涉及到ajax访问,所以必须部署到iis上才能看出效果,先给大家看一下效果图: css样式 JSON文件 jquery